198 lines
7.0 KiB
XML
198 lines
7.0 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<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>ru.kovbasa</groupId>
|
|
<artifactId>homework_1</artifactId>
|
|
<version>1.0-SNAPSHOT</version>
|
|
|
|
<properties>
|
|
<java.version>21</java.version>
|
|
|
|
<!-- Конфиг тестов -->
|
|
<base.url>https://otus.ru</base.url>
|
|
<course.name>Python Developer</course.name>
|
|
<browser>chrome</browser>
|
|
|
|
<!-- Dependencies -->
|
|
<selenium.version>4.40.0</selenium.version>
|
|
<junit.version>5.10.0</junit.version>
|
|
<junit.platform.suite.version>1.10.0</junit.platform.suite.version>
|
|
<cucumber.version>7.20.1</cucumber.version>
|
|
<guice.version>5.1.0</guice.version>
|
|
<guava.version>33.5.0-jre</guava.version>
|
|
<jsoup.version>1.21.2</jsoup.version>
|
|
<slf4j.version>2.0.11</slf4j.version>
|
|
<logback.version>1.4.14</logback.version>
|
|
|
|
<!-- Plugins -->
|
|
<maven.compiler.version>3.11.0</maven.compiler.version>
|
|
<surefire.version>3.1.2</surefire.version>
|
|
<checkstyle.plugin.version>3.6.0</checkstyle.plugin.version>
|
|
<spotbugs.plugin.version>4.9.8.0</spotbugs.plugin.version>
|
|
<spotbugs.version>4.9.8</spotbugs.version>
|
|
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<!-- Selenium WebDriver 4+ -->
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-java</artifactId>
|
|
<version>${selenium.version}</version>
|
|
</dependency>
|
|
|
|
<!-- JUnit 5 -->
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<version>${junit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.junit.platform</groupId>
|
|
<artifactId>junit-platform-suite</artifactId>
|
|
<version>${junit.platform.suite.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.cucumber</groupId>
|
|
<artifactId>cucumber-java</artifactId>
|
|
<version>${cucumber.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.cucumber</groupId>
|
|
<artifactId>cucumber-junit-platform-engine</artifactId>
|
|
<version>${cucumber.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- Guice -->
|
|
<dependency>
|
|
<groupId>com.google.inject</groupId>
|
|
<artifactId>guice</artifactId>
|
|
<version>${guice.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Force modern Guava to avoid deprecated Unsafe usage on new JDKs -->
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
<version>${guava.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Jsoup -->
|
|
<dependency>
|
|
<groupId>org.jsoup</groupId>
|
|
<artifactId>jsoup</artifactId>
|
|
<version>${jsoup.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Logging -->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-classic</artifactId>
|
|
<version>${logback.version}</version>
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<!-- Compiler -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>${maven.compiler.version}</version>
|
|
<configuration>
|
|
<source>${java.version}</source>
|
|
<target>${java.version}</target>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Surefire -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${surefire.version}</version>
|
|
<configuration>
|
|
<useModulePath>false</useModulePath>
|
|
<argLine>
|
|
-Djava.util.logging.config.file=${project.basedir}/src/test/resources/logging.properties
|
|
</argLine>
|
|
<includes>
|
|
<include>**/CucumberTest.java</include>
|
|
</includes>
|
|
<systemPropertyVariables>
|
|
<base.url>${base.url}</base.url>
|
|
<course.name>${course.name}</course.name>
|
|
<browser>${browser}</browser>
|
|
</systemPropertyVariables>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Checkstyle -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<version>${checkstyle.plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>checkstyle-validation</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<configLocation>checkstyle.xml</configLocation>
|
|
<consoleOutput>true</consoleOutput>
|
|
<failsOnError>true</failsOnError>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- SpotBugs -->
|
|
<plugin>
|
|
<groupId>com.github.spotbugs</groupId>
|
|
<artifactId>spotbugs-maven-plugin</artifactId>
|
|
<version>${spotbugs.plugin.version}</version>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.github.spotbugs</groupId>
|
|
<artifactId>spotbugs</artifactId>
|
|
<version>${spotbugs.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<executions>
|
|
<execution>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<excludeFilterFile>spotbugs-exclude.xml</excludeFilterFile>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
</project>
|