I have a consumer that generated the first version of the Pact contract and it uploaded it to the broker. The producer verified that the contract and the verification were published to the broker.
Now I want to extend the contract. When I publish the updated contract to the broker and subsequently run the verification on the producer side, it fails since the contract-fulfilling API is not implemented yet. I'd like to update the contract first, publish it, and avoid breaking the producer build (i.e. not modifying the consumer and the producer in lockstep).
How can I version consumer/producer/contract so I can specify in the producer that it is currently compatible with a specific consumer/contract version?
I'm using Pact JVM/Java (version 3) with Maven. There is no project versioning in pom.xml
- it's just 1.0.0-SNAPSHOT
version. projectVersion
, as configured in the Pact Maven plugin is the same as Maven project version - 1.0.0-SNAPSHOT
.
Should I play with projectVersion
and tags
? Should I upgrade to Pact version 4 and use consumer version selectors?