SHAFT_ENGINE
Used in
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.github.shafthq</groupId> <artifactId>SHAFT_ENGINE</artifactId> <version>9.1.20250313</version> </dependency>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" 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>io.github.shafthq</groupId> <artifactId>SHAFT_ENGINE</artifactId> <version>9.1.20250313</version> <!-- UPDATE com.shaft.properties.internal > Internal --> <name>${project.groupId}:${project.artifactId}</name> <description>SHAFT is a unified test automation engine. Powered by best-in-class frameworks, SHAFT provides a wizard-like syntax to drive your automation efficiently, maximize your ROI, and minimize your learning curve. Stop reinventing the wheel. Upgrade now! </description> <url>https://shafthq.github.io/</url> <packaging>jar</packaging> <licenses> <license> <name>MIT License</name> <url>http://www.opensource.org/licenses/mit-license.php</url> </license> </licenses> <developers> <developer> <name>Mohab Mohie</name> <email>Mohab.MohieElDeen@outlook.com</email> <organization>GitHub</organization> <organizationUrl>https://github.com/ShaftHQ</organizationUrl> </developer> </developers> <scm> <connection>scm:git:https://github.com/ShaftHQ/SHAFT_ENGINE.git</connection> <developerConnection>scm:git:ssh://github.com/ShaftHQ/SHAFT_ENGINE.git</developerConnection> <url>https://github.com/ShaftHQ/SHAFT_ENGINE</url> </scm> <properties> <surefireArgLine></surefireArgLine> <!-- Build Commands--> <installToLocalRepository>mvn clean install -DskipTests</installToLocalRepository> <publishJavaDocs>mvn resources:resources javadoc:javadoc scm-publish:publish-scm</publishJavaDocs> <!-- Deploy Commands --> <deployToMavenCentral>mvn clean deploy -DskipTests</deployToMavenCentral> </properties> <dependencyManagement> <dependencies> <!-- JUNIT5 BOM --> <!-- https://mvnrepository.com/artifact/org.junit/junit-bom --> <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>5.12.0</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>io.qameta.allure</groupId> <artifactId>allure-bom</artifactId> <version>2.29.1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- TESTNG DEPENDENCIES --> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>7.11.0</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <!-- CSV DEPENDENCIES--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-csv</artifactId> <version>1.13.0</version> </dependency> <!-- JUNIT5 DEPENDENCIES --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-launcher</artifactId> </dependency> <dependency> <groupId>io.qameta.allure</groupId> <artifactId>allure-junit5</artifactId> <exclusions> <exclusion> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> </exclusion> <exclusion> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-launcher</artifactId> </exclusion> </exclusions> </dependency> <!-- SELENIUM WEBDRIVER --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.29.0</version> </dependency> <!-- APPIUM --> <dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>9.4.0</version> <exclusions> <exclusion> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> </exclusion> <exclusion> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-remote-driver</artifactId> </exclusion> <exclusion> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-support</artifactId> </exclusion> <exclusion> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-api</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <!-- WEBDRIVER MANAGER --> <dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.9.3</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <!-- CUCUMBER --> <dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-java</artifactId> <version>7.21.1</version> </dependency> <dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-testng</artifactId> <version>7.21.1</version> <exclusions> <exclusion> <groupId>org.testng</groupId> <artifactId>testng</artifactId> </exclusion> <exclusion> <groupId>io.cucumber</groupId> <artifactId>cucumber-core</artifactId> </exclusion> <exclusion> <groupId>io.cucumber</groupId> <artifactId>gherkin</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-picocontainer</artifactId> <version>7.21.1</version> <exclusions> <exclusion> <groupId>io.cucumber</groupId> <artifactId>cucumber-core</artifactId> </exclusion> <exclusion> <groupId>io.cucumber</groupId> <artifactId>gherkin</artifactId> </exclusion> </exclusions> </dependency> <!-- EXCEL FILE MANIPULATION --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>5.4.0</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.4.0</version> <exclusions> <exclusion> <groupId>xml-apis</groupId> <artifactId>xml-apis</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </exclusion> </exclusions> </dependency> <!-- ALLURE REPORTING --> <dependency> <groupId>io.qameta.allure</groupId> <artifactId>allure-testng</artifactId> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> <exclusion> <groupId>org.testng</groupId> <artifactId>testng</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.qameta.allure</groupId> <artifactId>allure-java-commons</artifactId> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.qameta.allure</groupId> <artifactId>allure-cucumber7-jvm</artifactId> <exclusions> <exclusion> <groupId>io.cucumber</groupId> <artifactId>gherkin</artifactId> </exclusion> <exclusion> <groupId>io.cucumber</groupId> <artifactId>messages</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.22.1</version> </dependency> <dependency> <groupId>io.qameta.allure</groupId> <artifactId>allure-rest-assured</artifactId> </dependency> <!-- PDF Validation --> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>3.0.4</version> </dependency> <!-- REST ASSURED --> <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>5.5.1</version> </dependency> <dependency> <groupId>com.googlecode.json-simple</groupId> <artifactId>json-simple</artifactId> <version>1.1.1</version> <exclusions> <exclusion> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.jayway.jsonpath</groupId> <artifactId>json-path</artifactId> <version>2.9.0</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> <exclusion> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.skyscreamer</groupId> <artifactId>jsonassert</artifactId> <version>1.5.3</version> </dependency> <dependency> <groupId>eu.medsea.mimeutil</groupId> <artifactId>mime-util</artifactId> <version>2.1.3</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.rest-assured</groupId> <artifactId>json-schema-validator</artifactId> <version>5.5.1</version> </dependency> <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jdk8 --> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jdk8</artifactId> <version>2.18.3</version> </dependency> <!-- VISUAL VALIDATIONS & ELEMENT IDENTIFICATION --> <dependency> <groupId>com.applitools</groupId> <artifactId>eyes-images-java4</artifactId> <version>4.14.0</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.openpnp</groupId> <artifactId>opencv</artifactId> <version>4.9.0-0</version> </dependency> <!-- Healenium --> <!-- https://mvnrepository.com/artifact/com.epam.healenium/healenium-web --> <dependency> <groupId>com.epam.healenium</groupId> <artifactId>healenium-web</artifactId> <version>3.5.4</version> <exclusions> <exclusion> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> </exclusion> <exclusion> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> </exclusion> <exclusion> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclusion> <exclusion> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> </exclusion> <exclusion> <groupId>org.apache.maven</groupId> <artifactId>maven-artifact</artifactId> </exclusion> <exclusion> <groupId>org.apache.maven</groupId> <artifactId>maven-compat</artifactId> </exclusion> <exclusion> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> </exclusion> <exclusion> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> </exclusion> <exclusion> <groupId>com.codeborne</groupId> <artifactId>selenide</artifactId> </exclusion> <exclusion> <groupId>org.testcontainers</groupId> <artifactId>junit-jupiter</artifactId> </exclusion> <exclusion> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> </exclusion> <exclusion> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> </exclusion> <exclusion> <groupId>org.jetbrains</groupId> <artifactId>annotations</artifactId> </exclusion> </exclusions> </dependency> <!-- Image Comparison --> <!-- https://mvnrepository.com/artifact/com.assertthat/selenium-shutterbug --> <dependency> <groupId>com.assertthat</groupId> <artifactId>selenium-shutterbug</artifactId> <version>1.6</version> <exclusions> <exclusion> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> </exclusion> <exclusion> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> </exclusion> <exclusion> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> </exclusion> </exclusions> </dependency> <!-- REMOTE SSH --> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.55</version> </dependency> <!-- DATABASE CONNECTORS --> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>9.2.0</version> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>12.9.0.jre11-preview</version> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.7.5</version> </dependency> <dependency> <groupId>com.ibm.db2.jcc</groupId> <artifactId>db2jcc</artifactId> <version>db2jcc4</version> </dependency> <!-- <dependency> --> <!-- <groupId>com.oracle.jdbc</groupId> --> <!-- <artifactId>ojdbc8</artifactId> --> <!-- <version>19.3.0.0</version> --> <!-- </dependency> --> <!-- VIDEO RECORDING --> <!-- https://mvnrepository.com/artifact/ws.schild/jave-all-deps --> <dependency> <groupId>ws.schild</groupId> <artifactId>jave-all-deps</artifactId> <version>3.5.0</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <!-- https://mvnrepository.com/artifact/com.automation-remarks/video-recorder-testng --> <dependency> <groupId>com.automation-remarks</groupId> <artifactId>video-recorder-testng</artifactId> <version>2.0</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <groupId>org.testng</groupId> <artifactId>testng</artifactId> </exclusion> </exclusions> </dependency> <!-- TRANSITIVE LOGGING --> <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-slf4j2-impl --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j2-impl</artifactId> <version>2.24.3</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.24.3</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>33.4.0-jre</version> </dependency> <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.36</version> </dependency> <!-- https://github.com/google/tink/blob/master/docs/JAVA-HOWTO.md --> <dependency> <groupId>com.google.crypto.tink</groupId> <artifactId>tink</artifactId> <version>1.16.0</version> <exclusions> <exclusion> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.google.crypto.tink</groupId> <artifactId>tink-awskms</artifactId> <version>1.11.0</version> <exclusions> <exclusion> <groupId>com.google.auto.service</groupId> <artifactId>auto-service-annotations</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.google.crypto.tink</groupId> <artifactId>tink-gcpkms</artifactId> <version>1.10.0</version> <exclusions> <exclusion> <groupId>com.google.auto.service</groupId> <artifactId>auto-service-annotations</artifactId> </exclusion> </exclusions> </dependency> <!--YAML --> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>2.4</version> </dependency> <!-- https://mvnrepository.com/artifact/org.aeonbits.owner/owner --> <dependency> <groupId>org.aeonbits.owner</groupId> <artifactId>owner-java8</artifactId> <version>1.0.12</version> <exclusions> <exclusion> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.10</version> <type>maven-plugin</type> </dependency> <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup --> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.19.1</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mockito/mockito-core --> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>5.16.0</version> <scope>test</scope> <exclusions> <exclusion> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>me.tongfei</groupId> <artifactId>progressbar</artifactId> <version>0.10.1</version> </dependency> <!-- https://mvnrepository.com/artifact/com.epam.reportportal/agent-java-testng --> <dependency> <groupId>com.epam.reportportal</groupId> <artifactId>agent-java-testng</artifactId> <version>5.4.6</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <!-- https://mvnrepository.com/artifact/com.epam.reportportal/logger-java-log4j --> <dependency> <groupId>com.epam.reportportal</groupId> <artifactId>logger-java-log4j</artifactId> <version>5.2.3</version> </dependency> </dependencies> <build> <resources> <resource> <directory>${project.basedir}/src/main/resources/allure</directory> <targetPath>${project.basedir}/target/classes/resources/allure</targetPath> </resource> <resource> <directory>${project.basedir}/src/main/resources/properties/default</directory> <targetPath>${project.basedir}/target/classes/resources/properties/default</targetPath> </resource> <resource> <directory>${project.basedir}/src/main/javadoc</directory> <targetPath>${project.reporting.outputDirectory}</targetPath> </resource> <resource> <directory>${project.basedir}/target/reports/apidocs</directory> <targetPath>${project.reporting.outputDirectory}/apidocs</targetPath> </resource> </resources> <!--Plugins --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.14.0</version> <configuration> <source>21</source> <target>21</target> <encoding>UTF-8</encoding> <meminitial>4096m</meminitial> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.4.2</version> <configuration> <classesDirectory>target/classes</classesDirectory> <archive> <manifest> <addClasspath>true</addClasspath> </manifest> </archive> <includes> <include>com/**/*</include> <include>resources/**/*</include> </includes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.11.2</version> <configuration> <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable> <sourcepath> ${project.basedir}/src/main/java;${project.basedir}/target/generated-sources/annotations </sourcepath> <encoding>UTF-8</encoding> <failOnError>false</failOnError> <show>public</show> <nohelp>true</nohelp> <header>SHAFT_Engine, ${project.version}</header> <doctitle>SHAFT_Engine, ${project.version}</doctitle> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-publish-plugin</artifactId> <version>3.3.0</version> <configuration> <checkoutDirectory>${project.basedir}/../SHAFT_ENGINE_apidocs</checkoutDirectory> <tryUpdate>true</tryUpdate> <siteOutputEncoding>UTF-8</siteOutputEncoding> <checkinComment>Publishing javadoc for ${project.artifactId}:${project.version}</checkinComment> <content>${project.reporting.outputDirectory}</content> <skipDeletedFiles>true</skipDeletedFiles> <pubScmUrl>${project.scm.connection}</pubScmUrl> <scmBranch>gh-pages</scmBranch> <!-- branch with static site --> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.3.1</version> <executions> <execution> <id>attach-sources</id> <!-- <phase>verify</phase>--> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> </manifest> </archive> <includes> <include>com/**</include> </includes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.3.1</version> <configuration> <encoding>UTF-8</encoding> <outputDirectory>target/classes</outputDirectory> </configuration> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.10</version> <configuration> <sourceEncoding>UTF-8</sourceEncoding> <outputEncoding>UTF-8</outputEncoding> <haltOnFailure>false</haltOnFailure> <excludes> <exclude>**/*Aspect</exclude> </excludes> </configuration> <executions> <execution> <id>default-prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>default-prepare-agent-integration</id> <goals> <goal>prepare-agent-integration</goal> </goals> </execution> <execution> <id>default-report</id> <goals> <goal>report</goal> </goals> <phase>test</phase> <configuration> <dataFile>target/jacoco.exec</dataFile> <outputDirectory>target/jacoco</outputDirectory> </configuration> </execution> <execution> <id>default-check</id> <goals> <goal>check</goal> </goals> <configuration> <rules> <rule> <element>SOURCEFILE</element> <excludes> <exclude>*Test*</exclude> </excludes> <limits> <limit> <counter>METHOD</counter> <value>COVEREDRATIO</value> <minimum>80%</minimum> </limit> </limits> </rule> </rules> </configuration> </execution> </executions> </plugin> <!-- <plugin>--> <!-- <groupId>com.epam.healenium</groupId>--> <!-- <artifactId>hlm-report-mvn</artifactId>--> <!-- <version>1.1</version>--> <!-- <executions>--> <!-- <execution>--> <!-- <id>hlmReport</id>--> <!-- <phase>compile</phase>--> <!-- <goals>--> <!-- <goal>initReport</goal>--> <!-- </goals>--> <!-- </execution>--> <!-- <execution>--> <!-- <id>hlmReportB</id>--> <!-- <phase>test</phase>--> <!-- <goals>--> <!-- <goal>buildReport</goal>--> <!-- </goals>--> <!-- </execution>--> <!-- </executions>--> <!-- </plugin>--> <plugin> <groupId>org.sonatype.central</groupId> <artifactId>central-publishing-maven-plugin</artifactId> <version>0.7.0</version> <extensions>true</extensions> <configuration> <publishingServerId>central</publishingServerId> <centralBaseUrl>https://central.sonatype.com</centralBaseUrl> <tokenAuth>true</tokenAuth> <autoPublish>true</autoPublish> <waitUntil>published</waitUntil> <waitMaxTime>3600</waitMaxTime> <!-- one hour --> </configuration> </plugin> <plugin> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-gpg-plugin --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>3.2.7</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> <configuration> <keyname>${gpg.keyname}</keyname> <passphrase>${gpg.passphrase}</passphrase> <!-- Prevent gpg from using pinentry programs --> <gpgArguments> <arg>--pinentry-mode</arg> <arg>loopback</arg> </gpgArguments> <!-- Follow these steps: https://www.git-tower.com/blog/setting-up-gpg-windows/ --> <!-- In case you get `gpg: skipped "xxxxxx": No secret key` error navigate to where gpg is installed, usually here `C:\Program Files (x86)\GnuPG\bin` then copy/paste/rename `gpg.exe` to `gpg2.exe` run `git config {DASH_DASH}global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg2.exe"` then try again --> </configuration> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>testng</id> <activation> <activeByDefault>true</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.5.2</version> <dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.22.1</version> </dependency> <dependency> <groupId>org.apache.maven.surefire</groupId> <artifactId>surefire-testng</artifactId> <version>3.5.2</version> </dependency> </dependencies> <configuration> <encoding>UTF-8</encoding> <systemPropertyVariables> <testng.dtd.http>true</testng.dtd.http> <jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile> </systemPropertyVariables> <testFailureIgnore>true</testFailureIgnore> <failIfNoSpecifiedTests>false</failIfNoSpecifiedTests> <failIfNoTests>false</failIfNoTests> <trimStackTrace>false</trimStackTrace> <useFile>false</useFile> <argLine> @{argLine} ${surefireArgLine} -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/1.9.22.1/aspectjweaver-1.9.22.1.jar" </argLine> <properties> <property> <name>listener</name> <value>com.shaft.listeners.TestNGListener</value> </property> <property> <name>reporter</name> <value> org.testng.reporters.XMLReporter:generateTestResultAttributes=true,generateGroupsAttribute=true </value> </property> </properties> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>junit</id> <activation> <file> <missing>src/test/resources/META-INF/services/org.testng.ITestNGListener</missing> <exists>src/test/resources/META-INF/services/org.junit.platform.launcher.LauncherSessionListener </exists> </file> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.5.2</version> <dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.22.1</version> </dependency> </dependencies> <configuration> <encoding>UTF-8</encoding> <systemPropertyVariables> <testng.dtd.http>true</testng.dtd.http> <jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile> </systemPropertyVariables> <testFailureIgnore>true</testFailureIgnore> <failIfNoSpecifiedTests>false</failIfNoSpecifiedTests> <failIfNoTests>false</failIfNoTests> <trimStackTrace>false</trimStackTrace> <useFile>false</useFile> <argLine> @{argLine} ${surefireArgLine} -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/1.9.22.1/aspectjweaver-1.9.22.1.jar" </argLine> <properties> <property> <name>listener</name> <value>com.shaft.listeners.JunitListener</value> </property> <property> <name>reporter</name> <value> org.testng.reporters.XMLReporter:generateTestResultAttributes=true,generateGroupsAttribute=true </value> </property> </properties> </configuration> </plugin> </plugins> </build> </profile> </profiles> <reporting> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <reportSets> <reportSet> <reports> <!-- select non-aggregate reports --> <report>report</report> </reports> </reportSet> </reportSets> </plugin> </plugins> </reporting> </project>