262 lines
7.3 KiB
XML
262 lines
7.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>it.tdlight</groupId>
|
|
<artifactId>tdlib-java</artifactId>
|
|
<version>${revision}</version>
|
|
<name>TDLib Java Wrapper</name>
|
|
<packaging>jar</packaging>
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<revision>1.0.0-SNAPSHOT</revision>
|
|
<api-version>3.3.127</api-version>
|
|
<natives-version>3.3.129</natives-version>
|
|
</properties>
|
|
<repositories>
|
|
<repository>
|
|
<id>mchv-release</id>
|
|
<name>MCHV Release Apache Maven Packages</name>
|
|
<url>https://mvn.mchv.eu/repository/mchv</url>
|
|
</repository>
|
|
<repository>
|
|
<id>mchv-snapshot</id>
|
|
<name>MCHV Snapshot Apache Maven Packages</name>
|
|
<url>https://mvn.mchv.eu/repository/mchv-snapshot</url>
|
|
</repository>
|
|
</repositories>
|
|
<distributionManagement>
|
|
<repository>
|
|
<id>mchv-release-distribution</id>
|
|
<name>MCHV Release Apache Maven Packages Distribution</name>
|
|
<url>https://mvn.mchv.eu/repository/mchv</url>
|
|
</repository>
|
|
<snapshotRepository>
|
|
<id>mchv-snapshot-distribution</id>
|
|
<name>MCHV Snapshot Apache Maven Packages Distribution</name>
|
|
<url>https://mvn.mchv.eu/repository/mchv-snapshot</url>
|
|
</snapshotRepository>
|
|
</distributionManagement>
|
|
<scm>
|
|
<connection>scm:git:https://git.ignuranza.net/tdlight-team/tdlight-java.git</connection>
|
|
<developerConnection>scm:git:https://git.ignuranza.net/tdlight-team/tdlight-java.git</developerConnection>
|
|
<tag>HEAD</tag>
|
|
</scm>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>it.tdlight</groupId>
|
|
<artifactId>tdlight-api</artifactId>
|
|
<version>${api-version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>it.cavallium</groupId>
|
|
<artifactId>concurrent-locks</artifactId>
|
|
<version>1.0.8</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>it.unimi.dsi</groupId>
|
|
<artifactId>fastutil</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>1.7.30</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.reactivestreams</groupId>
|
|
<artifactId>reactive-streams</artifactId>
|
|
<version>1.0.3</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>it.unimi.dsi</groupId>
|
|
<artifactId>fastutil</artifactId>
|
|
<version>8.5.6</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
<profiles>
|
|
<profile>
|
|
<id>releaseDir</id>
|
|
<build>
|
|
<directory>target-release</directory>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>snapshotDir</id>
|
|
<build>
|
|
<directory>target-snapshot</directory>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
<build>
|
|
<sourceDirectory>../src/main/java</sourceDirectory>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-clean-plugin</artifactId>
|
|
<version>3.1.0</version>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<version>3.0.2</version>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<version>3.2.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-sources</id>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>3.2.0</version>
|
|
<configuration>
|
|
<source>8</source>
|
|
<additionalOptions>-html5</additionalOptions>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-javadocs</id>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- ensure the project is compiling with JDK 9+ -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<version>3.0.0-M3</version>
|
|
<executions>
|
|
<execution>
|
|
<id>enforce-jdk9</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<requireJavaVersion>
|
|
<version>[1.9,)</version>
|
|
<message>JDK 9+ is required for compilation</message>
|
|
</requireJavaVersion>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- compile sources -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.8.1</version>
|
|
<configuration>
|
|
<encoding>UTF-8</encoding>
|
|
<source>11</source>
|
|
<target>11</target>
|
|
<useIncrementalCompilation>false</useIncrementalCompilation>
|
|
<excludes>
|
|
<exclude>it/tdlight/tdlight/ClientManager.java</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
<executions>
|
|
<!-- disable default phase due to fixed id and position in lifecycle -->
|
|
<execution>
|
|
<id>default-compile</id>
|
|
<phase>none</phase>
|
|
<!-- specify source/target for IDE integration -->
|
|
<configuration>
|
|
<release>9</release>
|
|
</configuration>
|
|
</execution>
|
|
<!-- compile sources with Java 9 to generate and validate module-info.java -->
|
|
<execution>
|
|
<id>java-9-module-compile</id>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>9</release>
|
|
</configuration>
|
|
</execution>
|
|
<!-- recompile sources as Java 8 to overwrite Java 9 class files, except module-info.java -->
|
|
<execution>
|
|
<id>java-8-compile</id>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<!-- specify JDK 9+ release flag to ensure no classes/methods later than Java 8 are used accidentally -->
|
|
<source>8</source>
|
|
<target>8</target>
|
|
<!-- exclude module-info.java from the compilation, as it is unsupported by Java 8 -->
|
|
<excludes>
|
|
<exclude>it/tdlight/tdlight/ClientManager.java</exclude>
|
|
<exclude>module-info.java</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>3.2.0</version>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-install-plugin</artifactId>
|
|
<version>3.0.0-M1</version>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-deploy-plugin</artifactId>
|
|
<version>2.8.2</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>flatten-maven-plugin</artifactId>
|
|
<version>1.1.0</version>
|
|
<configuration>
|
|
<updatePomFile>true</updatePomFile>
|
|
<flattenMode>resolveCiFriendliesOnly</flattenMode>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>flatten</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>flatten</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>flatten.clean</id>
|
|
<phase>clean</phase>
|
|
<goals>
|
|
<goal>clean</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>templating-maven-plugin</artifactId>
|
|
<version>1.0.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>filtering-java-templates</id>
|
|
<goals>
|
|
<goal>filter-sources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sourceDirectory>../src/main/java-templates-tdlib</sourceDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|