SHAFT_DSL
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.shafthq</groupId>
<artifactId>SHAFT_DSL</artifactId>
<version>1.0.12</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_DSL</artifactId>
<version>1.0.12</version>
<name>${project.groupId}:${project.artifactId}</name>
<description>SHAFT DSL is a SHAFT Ecosystem project that extends basic SHAFT_Engine functionality and provides the user with
easy-access domain specific elements. This facilitated authoring tests even more and provides a unique user experience that is tailored to testers everywhere.
</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>Mohamed ElGazzar</name>
<email>Mhmd.ElGazzar.sqe@gmail.com</email>
<organization>GitHub</organization>
<organizationUrl>https://github.com/ShaftHQ</organizationUrl>
</developer>
<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_DSL.git</connection>
<developerConnection>scm:git:ssh://github.com/ShaftHQ/SHAFT_DSL.git</developerConnection>
<url>https://github.com/ShaftHQ/SHAFT_DSL</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>
<dependencies>
<dependency>
<groupId>io.github.shafthq</groupId>
<artifactId>SHAFT_ENGINE</artifactId>
<version>9.1.20250203</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.16</version>
</dependency>
<!-- Aws -->
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>regions</artifactId>
<version>2.25.40</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-sqs</artifactId>
<version>1.12.153</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>ssm</artifactId>
<version>2.27.10</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-dynamodb</artifactId>
<version>1.12.710</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>sqs</artifactId>
<version>2.27.10</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.unitils</groupId>
<artifactId>unitils-core</artifactId>
<version>3.4.6</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<!--Plugins -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.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>core/**/*</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>${project.name}, ${project.version}</header>
<doctitle>${project.name}, ${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_DSL_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>core/**</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>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>