This guide is for engineers who are working on {project-display-name}
PRs are always welcome!
For details on the V4 Pact specification, refer to https://github.com/pact-foundation/pact-specification/tree/version-4
For details on the Pact plugin framework, refer to https://github.com/pact-foundation/pact-plugins
Before raising an issue, make sure you have checked the open and closed issues to see if an answer is provided there. There may also be an answer to your question on stackoverflow.
Please provide the following information with your issue to enable us to respond as quickly as possible.
-
The relevant versions of the packages you are using (plugin and Pact versions).
-
The steps to recreate your issue.
-
An executable code example where possible.
-
Fork it
-
Create your feature branch (git checkout -b my-new-feature)
-
Commit your changes (git commit -am 'feat: Add some feature')
-
Push to the branch (git push origin my-new-feature)
-
Create new Pull Request
We follow the Conventional Changelog message conventions. Please ensure you follow the guidelines.
To build the plugin, you need a working JVM environment (version 11+).
The build tool used is SBT
and you can build the plugin by running sbt universal:stage
. This will compile the plugin and
put the generated files in modules/plugin/target/stage
. The contents of this directory
and this will need to be copied into the Pact plugin directory. See the installation instructions on {doc-url}.
sbt plugin/test
sbt consumer/test
docker compose -f docker-compose.yml up -d
./scripts/pact-publish.sh
sbt provider/test
docker compose -f docker-compose.yml down