501 lines
16 KiB
XML
501 lines
16 KiB
XML
<?xml version="1.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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<groupId>org.jitsi</groupId>
|
|
<artifactId>jicofo-parent</artifactId>
|
|
<version>1.1-SNAPSHOT</version>
|
|
</parent>
|
|
<artifactId>jicofo</artifactId>
|
|
<version>1.1-SNAPSHOT</version>
|
|
<packaging>jar</packaging>
|
|
<name>jicofo</name>
|
|
<description>JItsi COnference FOcus is a server side focus component used in Jitsi Meet conferences.</description>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>jicofo-common</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>jicofo-selector</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-lang3</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.ktor</groupId>
|
|
<artifactId>ktor-server-core-jvm</artifactId>
|
|
<version>${ktor.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.ktor</groupId>
|
|
<artifactId>ktor-server-netty-jvm</artifactId>
|
|
<version>${ktor.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.ktor</groupId>
|
|
<artifactId>ktor-server-content-negotiation-jvm</artifactId>
|
|
<version>${ktor.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.ktor</groupId>
|
|
<artifactId>ktor-serialization-jackson-jvm</artifactId>
|
|
<version>${ktor.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.ktor</groupId>
|
|
<artifactId>ktor-server-status-pages-jvm</artifactId>
|
|
<version>${ktor.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.igniterealtime.smack</groupId>
|
|
<artifactId>smack-tcp</artifactId>
|
|
</dependency>
|
|
<!-- https://mvnrepository.com/artifact/org.jetbrains/annotations -->
|
|
<dependency>
|
|
<groupId>org.jxmpp</groupId>
|
|
<artifactId>jxmpp-stringprep-rocksxmppprecis</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jetbrains</groupId>
|
|
<artifactId>annotations</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
<artifactId>kotlin-stdlib</artifactId>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<!-- org.jitsi -->
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>jicoco-config</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>jicoco-health-checker</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>jicoco-jwt</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>jitsi-metaconfig</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>jicoco-metrics</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>jicoco-tracing</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>jitsi-utils</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>jitsi-xmpp-extensions</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-jdk14</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.module</groupId>
|
|
<artifactId>jackson-module-kotlin</artifactId>
|
|
</dependency>
|
|
<!-- https://mvnrepository.com/artifact/com.github.spotbugs/spotbugs-annotations -->
|
|
<dependency>
|
|
<groupId>com.github.spotbugs</groupId>
|
|
<artifactId>spotbugs-annotations</artifactId>
|
|
</dependency>
|
|
<!-- runtime -->
|
|
<dependency>
|
|
<groupId>io.sentry</groupId>
|
|
<artifactId>sentry</artifactId>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<!-- test -->
|
|
<dependency>
|
|
<groupId>org.xmlunit</groupId>
|
|
<artifactId>xmlunit-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.mockk</groupId>
|
|
<artifactId>mockk-jvm</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.kotest</groupId>
|
|
<artifactId>kotest-runner-junit5-jvm</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.kotest</groupId>
|
|
<artifactId>kotest-assertions-core-jvm</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.kotest</groupId>
|
|
<artifactId>kotest-property-jvm</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.platform</groupId>
|
|
<artifactId>junit-platform-launcher</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-api</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>jicoco-test-kotlin</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>jicofo-common</artifactId>
|
|
<version>${project.version}</version>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>jicofo-selector</artifactId>
|
|
<version>${project.version}</version>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
<artifactId>kotlin-maven-plugin</artifactId>
|
|
<version>${kotlin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>compile</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sourceDirs>
|
|
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
|
|
<sourceDir>${project.basedir}/src/main/java</sourceDir>
|
|
</sourceDirs>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>test-compile</id>
|
|
<phase>test-compile</phase>
|
|
<goals>
|
|
<goal>test-compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sourceDirs>
|
|
<sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
|
|
<sourceDir>${project.basedir}/src/test/java</sourceDir>
|
|
</sourceDirs>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<jvmTarget>17</jvmTarget>
|
|
<args>
|
|
<arg>-Xallow-result-return-type</arg>
|
|
</args>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.8.1</version>
|
|
<executions>
|
|
<!-- Replacing default-compile as it is treated specially by maven -->
|
|
<execution>
|
|
<id>default-compile</id>
|
|
<phase>none</phase>
|
|
</execution>
|
|
<!-- Replacing default-testCompile as it is treated specially by maven -->
|
|
<execution>
|
|
<id>default-testCompile</id>
|
|
<phase>none</phase>
|
|
</execution>
|
|
<execution>
|
|
<id>java-compile</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>java-test-compile</id>
|
|
<phase>test-compile</phase>
|
|
<goals>
|
|
<goal>testCompile</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<source>17</source>
|
|
<target>17</target>
|
|
<compilerArgs>
|
|
<arg>-Xlint:all,-serial</arg>
|
|
</compilerArgs>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<version>3.3.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>assemble-archive</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<appendAssemblyId>true</appendAssemblyId>
|
|
<descriptors>
|
|
<descriptor>src/assembly/archive.xml</descriptor>
|
|
</descriptors>
|
|
<skipAssembly>${assembly.skipAssembly}</skipAssembly>
|
|
<descriptorRefs>
|
|
<descriptorRef>jar-with-dependencies</descriptorRef>
|
|
</descriptorRefs>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>2.22.2</version>
|
|
<configuration>
|
|
<systemPropertyVariables>
|
|
<java.util.logging.config.file>${project.parent.basedir}/lib/logging.properties</java.util.logging.config.file>
|
|
<kotest.framework.classpath.scanning.autoscan.disable>true</kotest.framework.classpath.scanning.autoscan.disable>
|
|
</systemPropertyVariables>
|
|
</configuration>
|
|
</plugin>
|
|
<!-- ktlint: check runs in the verify phase; auto-format with "mvn exec:exec@ktlint-format" -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<version>3.6.3</version>
|
|
<configuration>
|
|
<mainClass>org.jitsi.jicofo.Main</mainClass>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>ktlint-check</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>exec</goal>
|
|
</goals>
|
|
<configuration>
|
|
<executable>java</executable>
|
|
<includePluginDependencies>true</includePluginDependencies>
|
|
<arguments>
|
|
<argument>-classpath</argument>
|
|
<classpath>
|
|
<dependency>com.pinterest.ktlint:ktlint-cli</dependency>
|
|
</classpath>
|
|
<argument>com.pinterest.ktlint.Main</argument>
|
|
<argument>--relative</argument>
|
|
<argument>src/main/kotlin/**/*.kt</argument>
|
|
<argument>src/test/kotlin/**/*.kt</argument>
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>ktlint-format</id>
|
|
<goals>
|
|
<goal>exec</goal>
|
|
</goals>
|
|
<configuration>
|
|
<executable>java</executable>
|
|
<includePluginDependencies>true</includePluginDependencies>
|
|
<arguments>
|
|
<argument>-classpath</argument>
|
|
<classpath>
|
|
<dependency>com.pinterest.ktlint:ktlint-cli</dependency>
|
|
</classpath>
|
|
<argument>com.pinterest.ktlint.Main</argument>
|
|
<argument>--format</argument>
|
|
<argument>--relative</argument>
|
|
<argument>src/main/kotlin/**/*.kt</argument>
|
|
<argument>src/test/kotlin/**/*.kt</argument>
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.pinterest.ktlint</groupId>
|
|
<artifactId>ktlint-cli</artifactId>
|
|
<version>${ktlint.version}</version>
|
|
<classifier>all</classifier>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
<plugin>
|
|
<!-- Instructs the plugin to add the current package version in the jar manifest
|
|
So we can access it runtime with: .class.getPackage().getImplementationVersion()
|
|
-->
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>3.2.0</version>
|
|
<configuration>
|
|
<archive>
|
|
<manifest>
|
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
|
</manifest>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<version>3.1.2</version>
|
|
<configuration>
|
|
<configLocation>checkstyle.xml</configLocation>
|
|
</configuration>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.puppycrawl.tools</groupId>
|
|
<artifactId>checkstyle</artifactId>
|
|
<version>9.1</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.github.spotbugs</groupId>
|
|
<artifactId>spotbugs-maven-plugin</artifactId>
|
|
<version>${spotbugs-maven-plugin.version}</version>
|
|
<configuration>
|
|
<excludeFilterFile>spotbugs-exclude.xml</excludeFilterFile>
|
|
<includeTests>true</includeTests>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.github.spotbugs</groupId>
|
|
<artifactId>spotbugs</artifactId>
|
|
<version>${spotbugs.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
<repositories>
|
|
<repository>
|
|
<id>jitsi-maven-repository-releases</id>
|
|
<layout>default</layout>
|
|
<name>Jitsi Maven Repository (Releases)</name>
|
|
<releases>
|
|
<enabled>true</enabled>
|
|
</releases>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
<url>https://github.com/jitsi/jitsi-maven-repository/raw/master/releases/</url>
|
|
</repository>
|
|
<repository>
|
|
<id>jitsi-maven-repository-snapshots</id>
|
|
<layout>default</layout>
|
|
<name>Jitsi Maven Repository (Snapshots)</name>
|
|
<releases>
|
|
<enabled>false</enabled>
|
|
</releases>
|
|
<snapshots>
|
|
<enabled>true</enabled>
|
|
</snapshots>
|
|
<url>https://github.com/jitsi/jitsi-maven-repository/raw/master/snapshots/</url>
|
|
</repository>
|
|
</repositories>
|
|
<profiles>
|
|
<profile>
|
|
<id>coverage</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>0.8.12</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
</execution>
|
|
<!-- attached to Maven test phase -->
|
|
<execution>
|
|
<id>report</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>report</goal>
|
|
</goals>
|
|
</execution>
|
|
<!-- Aggregate report over all jicofo modules. This is the report to look at: tests in one module
|
|
exercise classes from the other modules, so the per-module reports under-count coverage.
|
|
Output: jicofo/target/site/jacoco-aggregate/ -->
|
|
<execution>
|
|
<id>report-aggregate</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>report-aggregate</goal>
|
|
</goals>
|
|
<configuration>
|
|
<includeCurrentProject>true</includeCurrentProject>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|