qtaf
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>de.qytera</groupId> <artifactId>qtaf</artifactId> <version>0.2.23</version> </dependency>
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>de.qytera</groupId> <artifactId>qtaf</artifactId> <version>0.2.23</version> <packaging>pom</packaging> <name>${project.groupId}:${project.artifactId}</name> <description>The QTAF (Qytera Test Automation Framework) core library.</description> <url>https://github.com/Qytera-Gmbh/QTAF</url> <licenses> <license> <name>MIT License</name> <url>http://www.opensource.org/licenses/mit-license.php</url> </license> </licenses> <developers> <developer> <name>Qytera Development</name> <email>dev@qytera.de</email> <organization>Qytera Software Testing Solutions GmbH</organization> <organizationUrl>https://www.qytera.de/</organizationUrl> </developer> </developers> <scm> <connection>scm:git:git://github.com/Qytera-Gmbh/QTAF.git</connection> <developerConnection>scm:git:ssh://github.com/Qytera-Gmbh/QTAF.git</developerConnection> <url>https://github.com/Qytera-Gmbh/QTAF</url> </scm> <modules> <module>qtaf-core</module> <module>qtaf-io</module> <module>qtaf-html-report-plugin</module> <module>qtaf-allure-plugin</module> <module>qtaf-xray-plugin</module> <module>qtaf-http</module> <module>qtaf-data</module> <module>qtaf-testrail-plugin</module> <module>qtaf-security</module> <module>qtaf-aws-devicefarm</module> <!--<module>qtaf-rest-assured</module>--> </modules> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <!-- Allows specifying different source directories to compile the project from. It is used as follows: - tells all plugins to use src/main/java by default (i.e. when the code still contains Lombok annotations) - tells all plugins to use a different directory containing delomboked sources after delombok --> <qtafSourceDirectory>${project.basedir}/src/main/java</qtafSourceDirectory> <!-- Checkstyle linting needs to be disabled after delombok, because delomboked code usually only contains partially correct code (e.g. Javadoc) for getters, setters, etc. The Checkstyle plugin should be configured as follows: - enforce correct style for user-written code: - plain Java code - code with Lombok annotations - ... - disable Checkstyle checks once the code has been delomboked --> <mavenCheckstylesPluginSkip>false</mavenCheckstylesPluginSkip> <!-- Dependency versions --> <jacocoMavenPluginVersion>0.8.10</jacocoMavenPluginVersion> <lombokPluginVersion>1.18.20.0</lombokPluginVersion> <lombokVersion>1.18.30</lombokVersion> <mavenAntRunVersion>3.1.0</mavenAntRunVersion> <mavenBuildHelperVersion>3.4.0</mavenBuildHelperVersion> <mavenCompilerPluginVersion>3.13.0</mavenCompilerPluginVersion> <mavenGpgPluginVersion>3.2.4</mavenGpgPluginVersion> <mavenJarPluginVersion>3.3.0</mavenJarPluginVersion> <mavenJavadocPluginVersion>3.5.0</mavenJavadocPluginVersion> <mavenSourcePluginVersion>3.3.0</mavenSourcePluginVersion> <mavenSurefirePluginVersion>3.2.3</mavenSurefirePluginVersion> <nexusStagingMavenPluginVersion>1.6.13</nexusStagingMavenPluginVersion> <sonarMavenPluginVersion>3.10.0.2594</sonarMavenPluginVersion> </properties> <profiles> <!-- A profile that delomboks submodules (i.e. converts them into vanilla Java). Delombokization is necessary because otherwise, the compiled/packaged class files would not match the packaged sources. This is problematic when QTAF is used as a dependency and developers would like to step through QTAF code during debugging. They would not be able to put 'proper' breakpoints into QTAF code, since the executed code (classfile, automatically delomboked during compilation) would not be consistent with the visible code (source file, not automatically delomboked). --> <profile> <id>delombok-profile</id> <!-- The profile must be activated through the CLI. --> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <delombokDirectory>${project.build.directory}/sources-delomboked</delombokDirectory> <qtafSourceDirectory>${delombokDirectory}</qtafSourceDirectory> <mavenCheckstylesPluginSkip>true</mavenCheckstylesPluginSkip> </properties> <build> <plugins> <!-- A plugin for transforming lombok-annotated classes back into vanilla Java. --> <plugin> <groupId>org.projectlombok</groupId> <artifactId>lombok-maven-plugin</artifactId> <version>${lombokPluginVersion}</version> <configuration> <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> <outputDirectory>${delombokDirectory}</outputDirectory> <addOutputDirectory>false</addOutputDirectory> <encoding>UTF-8</encoding> </configuration> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>delombok</goal> </goals> </execution> </executions> </plugin> <!-- Plugin for attaching the delomboked source files to the build artifacts. --> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-source-plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${mavenSourcePluginVersion}</version> <executions> <execution> <id>attach-sources</id> <phase>verify</phase> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- A profile for code quality. See: https://docs.sonarcloud.io/advanced-setup/ci-based-analysis/sonarscanner-for-maven/ --> <profile> <activation> <activeByDefault>true</activeByDefault> </activation> <id>quality-profile</id> <build> <plugins> <!-- Plugin for computing code coverage. --> <!-- https://mvnrepository.com/artifact/org.jacoco/jacoco-maven-plugin --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacocoMavenPluginVersion}</version> <executions> <execution> <id>prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <goals> <goal>report</goal> </goals> <configuration> <formats> <!-- XML required for Sonar, HTML can be useful for human inspection. --> <format>XML</format> <format>HTML</format> </formats> </configuration> </execution> </executions> </plugin> <!-- Plugin which performs SonarQube analysis on Maven projects. --> <!-- https://mvnrepository.com/artifact/org.sonarsource.scanner.maven/sonar-maven-plugin --> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>${sonarMavenPluginVersion}</version> <configuration> </configuration> </plugin> </plugins> </build> </profile> <!-- A profile for signing and deploying artifacts to Sonatype. --> <profile> <id>release-profile</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <!-- Plugin responsible for generating GPG signatures --> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-gpg-plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${mavenGpgPluginVersion}</version> <executions> <execution> <id>sgn-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> <configuration> <keyname>0x643DE5DE</keyname> <passphraseServerId>0x643DE5DE</passphraseServerId> </configuration> </execution> </executions> </plugin> <!-- Plugin for artifact deployment to OSSRH. --> <!-- https://mvnrepository.com/artifact/org.sonatype.plugins/nexus-staging-maven-plugin --> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>${nexusStagingMavenPluginVersion}</version> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> </plugins> </build> <distributionManagement> <snapshotRepository> <id>ossrh</id> <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> <repository> <id>ossrh</id> <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> </distributionManagement> </profile> </profiles> <dependencies> <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombokVersion}</version> <scope>provided</scope> </dependency> </dependencies> <build> <sourceDirectory>${qtafSourceDirectory}</sourceDirectory> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <!-- Plugin for compiling code. --> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${mavenCompilerPluginVersion}</version> <configuration> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> </configuration> </plugin> <!-- Plugin for building JAR files. --> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-jar-plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>${mavenJarPluginVersion}</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>/</classpathPrefix> <mainClass>de.qytera.qtaf.testng.QtafTestNGRunner</mainClass> </manifest> </archive> </configuration> </plugin> <!-- Plugin for running TestNG test (suites, groups, ...). --> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-surefire-plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${mavenSurefirePluginVersion}</version> </plugin> <!-- Plugin for creating Javadoc files. --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${mavenJavadocPluginVersion}</version> <configuration> <!-- Checkstyle performs Javadoc linting. --> <doclint>none</doclint> <failOnWarnings>true</failOnWarnings> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>3.3.0</version> <configuration> <configLocation>checkstyle.xml</configLocation> <skip>${mavenCheckstylesPluginSkip}</skip> </configuration> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>