Thanks for being willing to contribute!
- Fork and clone the repo
- Install JDK > 11
- Install Kotlin > 1.4.0
- We have a wrapped Gradle, so you will just need to run
gradlew
- Run
./gradlew clean build
project root folder to install dependencies - Create a branch for your PR with
git checkout -b your-branch-name
Tip: Keep your
main
branch pointing at the original repository and make pull requests from branches on your fork. To do this, run:git remote add upstream https://github.com/znsio/specmatic.git git fetch upstream git branch --set-upstream-to=upstream/main main
This will add the original repository as a "remote" called "upstream," Then fetch the git information from that remote, then set your local
main
branch to use the upstream main branch whenever you rungit pull
. Then you can make all of your pull request branches based on thismain
branch. Whenever you want to update your version ofmain
, do a regulargit pull
.
- Run specmacticJMS.sh. This file runs specmatic with Prometheus Java Agent and publishes metrics on localhost:8089/metrics
- To monitor the above metrics in Grafana setup Perfiz (Steps 1 and 2)
- Run
$PERFIZ_HOME/perfiz.sh start
and navigate to localhost:3000 to view Grafana Dashboard - Run
$PERFIZ_HOME/perfiz.sh stop
to stop Grafana and other Docker Containers
Please make sure to run the tests before you commit your changes by using the command
./gradlew clean test
Generate Fat Jar. The specmatic.jar
should be available in <projectRoot>/application/build/libs
./gradlew clean build shadowJar
Run the specmatic.jar
to verify any commands as part of your changes.
Please checkout the the open issues
Also, please watch the repo and respond to questions/bug reports/feature requests! Thanks!