link-tracker
/
pom.xml
306 строк · 12.5 Кб
1<?xml version="1.0" encoding="UTF-8"?>
2<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"3xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">4<modelVersion>4.0.0</modelVersion>5
6<groupId>edu.java</groupId>7<artifactId>root</artifactId>8<version>${revision}</version>9<packaging>pom</packaging>10
11<properties>12<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>13<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>14
15<maven.version>3.8.6</maven.version>16<jdk.version>21</jdk.version>17<java.release>21</java.release>18
19<revision>0.1</revision>20
21<skip.unit.tests>false</skip.unit.tests>22
23<!-- Spring -->24<spring-boot.version>3.2.2</spring-boot.version>25<spring-cloud.version>2023.0.0</spring-cloud.version>26
27<!-- Other -->28<jetbrains-annotations.version>24.1.0</jetbrains-annotations.version>29<java-telegram-bot-api.version>7.0.1</java-telegram-bot-api.version>30<apache-commons-text.version>1.11.0</apache-commons-text.version>31
32<!-- Tests -->33<testcontainers.version>1.19.4</testcontainers.version>34<wiremock.version>3.3.1</wiremock.version>35
36<!-- Plugins -->37<maven-compiler-plugin.version>3.12.1</maven-compiler-plugin.version>38<maven-failsafe-plugin.version>3.2.5</maven-failsafe-plugin.version>39<maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version>40<maven-enforcer-plugin.version>3.4.1</maven-enforcer-plugin.version>41<git-commit-id-maven-plugin.version>7.0.0</git-commit-id-maven-plugin.version>42<jacoco-maven-plugin.version>0.8.11</jacoco-maven-plugin.version>43
44<!-- Linters -->45<maven-checkstyle-plugin.version>3.3.1</maven-checkstyle-plugin.version>46<checkstyle.version>10.12.7</checkstyle.version>47</properties>48
49<modules>50<module>bot</module>51<module>scrapper</module>52</modules>53
54<dependencyManagement>55<dependencies>56<dependency>57<groupId>com.github.pengrad</groupId>58<artifactId>java-telegram-bot-api</artifactId>59<version>${java-telegram-bot-api.version}</version>60</dependency>61<dependency>62<groupId>org.wiremock</groupId>63<artifactId>wiremock</artifactId>64<version>${wiremock.version}</version>65</dependency>66<dependency>67<groupId>org.wiremock</groupId>68<artifactId>wiremock-standalone</artifactId>69<version>${wiremock.version}</version>70</dependency>71
72<dependency>73<groupId>org.testcontainers</groupId>74<artifactId>testcontainers-bom</artifactId>75<version>${testcontainers.version}</version>76<type>pom</type>77<scope>import</scope>78</dependency>79
80<dependency>81<groupId>org.springframework.cloud</groupId>82<artifactId>spring-cloud-dependencies</artifactId>83<version>${spring-cloud.version}</version>84<type>pom</type>85<scope>import</scope>86</dependency>87
88<dependency>89<groupId>org.springframework.boot</groupId>90<artifactId>spring-boot-dependencies</artifactId>91<version>${spring-boot.version}</version>92<type>pom</type>93<scope>import</scope>94</dependency>95</dependencies>96</dependencyManagement>97
98<dependencies>99<dependency>100<groupId>org.jetbrains</groupId>101<artifactId>annotations</artifactId>102<version>${jetbrains-annotations.version}</version>103<scope>provided</scope>104</dependency>105
106<!-- Tests -->107<dependency>108<groupId>org.assertj</groupId>109<artifactId>assertj-core</artifactId>110<scope>test</scope>111</dependency>112<dependency>113<groupId>org.junit.jupiter</groupId>114<artifactId>junit-jupiter-api</artifactId>115<scope>test</scope>116</dependency>117<dependency>118<groupId>org.junit.jupiter</groupId>119<artifactId>junit-jupiter-engine</artifactId>120<scope>test</scope>121</dependency>122<dependency>123<groupId>org.junit.jupiter</groupId>124<artifactId>junit-jupiter-params</artifactId>125<scope>test</scope>126</dependency>127<dependency>128<groupId>org.apache.commons</groupId>129<artifactId>commons-text</artifactId>130<version>${apache-commons-text.version}</version>131</dependency>132</dependencies>133
134<build>135<plugins>136<plugin>137<groupId>org.apache.maven.plugins</groupId>138<artifactId>maven-enforcer-plugin</artifactId>139</plugin>140<plugin>141<groupId>org.jacoco</groupId>142<artifactId>jacoco-maven-plugin</artifactId>143<version>${jacoco-maven-plugin.version}</version>144</plugin>145
146</plugins>147
148<pluginManagement>149<plugins>150<!-- Spring Boot -->151<plugin>152<groupId>org.springframework.boot</groupId>153<artifactId>spring-boot-maven-plugin</artifactId>154<version>${spring-boot.version}</version>155<configuration>156<layers>157<enabled>true</enabled>158</layers>159<excludes>160<exclude>161<groupId>org.projectlombok</groupId>162<artifactId>lombok</artifactId>163</exclude>164</excludes>165</configuration>166<executions>167<execution>168<goals>169<goal>repackage</goal>170<goal>build-info</goal>171</goals>172</execution>173</executions>174</plugin>175
176<plugin>177<groupId>io.github.git-commit-id</groupId>178<artifactId>git-commit-id-maven-plugin</artifactId>179<version>${git-commit-id-maven-plugin.version}</version>180<executions>181<execution>182<goals>183<goal>revision</goal>184</goals>185</execution>186</executions>187<configuration>188<verbose>true</verbose>189<dateFormat>yyyy-MM-dd'T'HH:mm:ssZ</dateFormat>190<generateGitPropertiesFile>true</generateGitPropertiesFile>191<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties192</generateGitPropertiesFilename>193</configuration>194</plugin>195
196<!-- Compiler -->197<plugin>198<groupId>org.apache.maven.plugins</groupId>199<artifactId>maven-compiler-plugin</artifactId>200<version>${maven-compiler-plugin.version}</version>201<configuration>202<release>${java.release}</release>203<parameters>true</parameters>204
205<compilerArgument>-Xlint:all</compilerArgument>206<compilerArgument>-Xdoclint:all</compilerArgument>207</configuration>208</plugin>209
210<!-- Tests-->211<plugin>212<groupId>org.apache.maven.plugins</groupId>213<artifactId>maven-surefire-plugin</artifactId>214<version>${maven-surefire-plugin.version}</version>215<configuration>216<skip>${skip.unit.tests}</skip>217</configuration>218</plugin>219<plugin>220<groupId>org.apache.maven.plugins</groupId>221<artifactId>maven-failsafe-plugin</artifactId>222<version>${maven-failsafe-plugin.version}</version>223<configuration>224<classesDirectory>${project.build.outputDirectory}</classesDirectory>225</configuration>226<executions>227<execution>228<goals>229<goal>integration-test</goal>230<goal>verify</goal>231</goals>232</execution>233</executions>234</plugin>235<plugin>236<groupId>org.jacoco</groupId>237<artifactId>jacoco-maven-plugin</artifactId>238<version>${jacoco-maven-plugin.version}</version>239<executions>240<execution>241<goals>242<goal>prepare-agent</goal>243</goals>244</execution>245<execution>246<id>report</id>247<phase>prepare-package</phase>248<goals>249<goal>report</goal>250</goals>251</execution>252</executions>253</plugin>254
255<!-- Checkers -->256<plugin>257<groupId>org.apache.maven.plugins</groupId>258<artifactId>maven-enforcer-plugin</artifactId>259<version>${maven-enforcer-plugin.version}</version>260<executions>261<execution>262<id>enforce-java</id>263<phase>validate</phase>264<goals>265<goal>enforce</goal>266</goals>267<configuration>268<rules>269<requireJavaVersion>270<version>[${jdk.version},)</version>271<message>JDK version must be at least ${jdk.version}</message>272</requireJavaVersion>273<requireMavenVersion>274<version>[${maven.version},)</version>275<message>Maven version should, at least, be ${maven.version}</message>276</requireMavenVersion>277<banDuplicatePomDependencyVersions/>278<reactorModuleConvergence/>279</rules>280</configuration>281</execution>282</executions>283</plugin>284<plugin>285<groupId>org.apache.maven.plugins</groupId>286<artifactId>maven-checkstyle-plugin</artifactId>287<version>${maven-checkstyle-plugin.version}</version>288<dependencies>289<dependency>290<groupId>com.puppycrawl.tools</groupId>291<artifactId>checkstyle</artifactId>292<version>${checkstyle.version}</version>293</dependency>294</dependencies>295<configuration>296<configLocation>checkstyle.xml</configLocation>297<suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>298<consoleOutput>true</consoleOutput>299<logViolationsToConsole>true</logViolationsToConsole>300<failsOnError>true</failsOnError>301</configuration>302</plugin>303</plugins>304</pluginManagement>305</build>306</project>307