This is a Maven Archetype for setting up a sample SHAFT_Engine + TestNG project.
This repository includes an automated workflow that keeps all SHAFT Engine versions synchronized. When the SHAFT Engine version is updated in the archetype template, the workflow automatically:
- ✅ Detects version mismatches between the project version and SHAFT Engine version
- ✅ Creates a pull request with the necessary version updates
- ✅ Updates the main project version to match the latest SHAFT Engine version
- ✅ Synchronizes all archetype template files
- ✅ Maintains consistency across test reference files
The synchronization workflow runs on every push to the main branch when POM files are modified. When a version mismatch is detected, a pull request is automatically created for review and merging, ensuring that repository branch protection rules are respected.
To Generate a project just follow these simple steps:
- Download the latest version of mvn
- Add it to your PATH variable
- Create a new directory for the project, and navigate to it.
- Open a Terminal window in the target directory and execute the below command.
mvn archetype:generate "-DarchetypeGroupId=io.github.shafthq" "-DarchetypeArtifactId=testng-archetype" "-DarchetypeVersion=${archetype.version}" "-DinteractiveMode=false" "-DgroupId=io.github.shafthq" "-DartifactId=using_SHAFT_Engine"NOTE 1: Replace ${archetype.version} with the latest SHAFT_Engine: TestNG Archetype version.
NOTE 2: Customize "-DgroupId=io.github.shafthq" and "-DartifactId=using_SHAFT_Engine" with the groupId and artifactId that you want to use for the new project.