https://github.com/pact-foundation/pact-jvm

JVM version of Pact. Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.

https://github.com/pact-foundation/pact-jvm

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.6%) to scientific vocabulary

Keywords

consumer-driven-contracts contract-testing hacktoberfest pact smartbear-supported

Keywords from Contributors

sequencing mesh distributed ecosystem-models interactive data-pipelines scheduler data-engineering operating-system projection
Last synced: 10 months ago · JSON representation

Repository

JVM version of Pact. Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.

Basic Info
  • Host: GitHub
  • Owner: pact-foundation
  • License: apache-2.0
  • Language: Kotlin
  • Default Branch: master
  • Homepage: https://docs.pact.io
  • Size: 16.7 MB
Statistics
  • Stars: 1,112
  • Watchers: 77
  • Forks: 482
  • Open Issues: 376
  • Releases: 325
Topics
consumer-driven-contracts contract-testing hacktoberfest pact smartbear-supported
Created over 12 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog Contributing Funding License

README.md

Pact-JVM

Pact-JVM Build Maven Central

JVM implementation of the consumer driven contract library pact.

From the Ruby Pact website:

Define a pact between service consumers and providers, enabling "consumer driven contract" testing.

Pact provides an RSpec DSL for service consumers to define the HTTP requests they will make to a service provider and the HTTP responses they expect back. These expectations are used in the consumers specs to provide a mock service provider. The interactions are recorded, and played back in the service provider specs to ensure the service provider actually does provide the response the consumer expects.

This allows testing of both sides of an integration point using fast unit tests.

This gem is inspired by the concept of "Consumer driven contracts". See https://martinfowler.com/articles/consumerDrivenContracts.html for more information.

Read Getting started with Pact for more information on how to get going.

Contact

Links

  • For examples of using pact-jvm with spring boot, have a look at https://github.com/Mikuu/Pact-JVM-Example and https://github.com/mstine/microservices-pact

Tutorial (60 minutes)

Learn everything in Pact in 60 minutes: https://github.com/pact-foundation/pact-workshop-jvm-spring.

The workshop takes you through all of the key concepts of consumer and provider testing using a Spring boot application.

Documentation

Additional documentation can be found at docs.pact.io, in the Pact Wiki, and in the Pact-JVM wiki. Stack Overflow is also a good source of help, as is the Slack workspace.

Supported JDK and specification versions:

| Branch | Specification | JDK | Kotlin Version | Latest Version | Notes | |-----------------------------------------------------------------------------------|---------------|-----------------------|----------------|----------------|-------| | 4.7.x | V4 + plugins | 17+ (tested up to 23) | 2.1.21 | 4.7.0-beta.1 | | | 4.6.x master | V4 + plugins | 17+ (tested up to 18) | 1.8.22 | 4.6.15 | | | 4.5.x | V4 + plugins | 11+/17+(1) | 1.7.20 | 4.5.13 | | | 4.1.x | V3 | 8-12 | 1.3.72 | 4.1.43 | |

Notes: * 1: Spring6 support library requires JDK 17+. The rest of Pact-JVM 4.5.x libs require 11+.

Previous versions (not actively supported)

| Branch | Specification | JDK | Kotlin Version | Scala Versions | Latest Version | |---------------------------------------------------------------------------|---------------|-----------|----------------|----------------|----------------| | 4.4.x | V4 + plugins | 11+ | 1.6.21 | N/A | 4.4.9 | | 4.3.x | V4 | 11+ | 1.6.21 | N/A | 4.3.19 | | 4.2.x | V4 (1) | 11-15 (2) | 1.4.32 | N/A | 4.2.21 | | 4.0.x | V3 | 8-12 | 1.3.71 | N/A | 4.0.10 | | 3.6.x | V3 | 8 | 1.3.71 | 2.12 | 3.6.15 | | 3.5.x | V3 | 8 | 1.1.4-2 | 2.12, 2.11 | 3.5.25 | | 3.5.x-jre7 | V3 | 7 | 1.1.4-2 | 2.11 | 3.5.7-jre7.0 | | 2.4.x | V2 | 6 | N/A | 2.10, 2.11 | 2.4.20 |

Notes: * 1: V4 specification support is only partially implemented with 4.2.x * 2: v4.2.x may run on JDK 16, but the build for it does not.

NOTE: The JARs produced by this project have changed with 4.1.x to better align with Java 9 JPMS. The artefacts are now:

au.com.dius.pact:consumer au.com.dius.pact.consumer:groovy au.com.dius.pact.consumer:junit au.com.dius.pact.consumer:junit5 au.com.dius.pact.consumer:java8 au.com.dius.pact.consumer:specs2_2.13 au.com.dius.pact:pact-jvm-server au.com.dius.pact:provider au.com.dius.pact.provider:scalatest_2.13 au.com.dius.pact.provider:spring au.com.dius.pact.provider:maven au.com.dius.pact:provider au.com.dius.pact.provider:junit au.com.dius.pact.provider:junit5 au.com.dius.pact.provider:scalasupport_2.13 au.com.dius.pact.provider:lein au.com.dius.pact.provider:gradle au.com.dius.pact.provider:specs2_2.13 au.com.dius.pact.provider:junit5spring au.com.dius.pact.core:support au.com.dius.pact.core:model au.com.dius.pact.core:matchers au.com.dius.pact.core:pactbroker

Service Consumers

Pact-JVM has a number of ways you can write your service consumer tests.

I Use Scala

You want to look at: pact4s.

I Use Java

You want to look at: junit for JUnit 4 tests and junit5 for JUnit 5 tests. Also, if you are using Java 11 or above, there is an updated DSL for consumer tests.

NOTE: If you are using Java 8, there is no separate Java 8 support library anymore, see the above library.

I Use Groovy or Grails

You want to look at: groovy or junit

(Use Clojure I)

Clojure can call out to Java, so have a look at junit. For an example look at exampleclojureconsumerpacttest.clj.

I Use some other jvm language or test framework

You want to look at: Consumer

My Consumer interacts with a Message Queue

As part of the V3 pact specification, we have defined a new pact file for interactions with message queues. For an implementation of a Groovy consumer test with a message pact, have a look at PactMessageBuilderSpec.groovy.

Service Providers

Once you have run your consumer tests, you will have generated some Pact files. You can then verify your service providers with these files.

I am writing a provider and want to ...

verify pacts with SBT

You want to look at: pact4s or scala-pact

verify pacts with Gradle

You want to look at: pact gradle plugin

verify pacts with Maven

You want to look at: pact maven plugin

verify pacts with JUnit tests

You want to look at: junit provider support for JUnit 4 tests and junit5 for JUnit 5 tests

verify pacts with Leiningen

You want to look at: pact leiningen plugin

verify pacts with a Spring MVC project

Have a look at spring or Spring MVC Pact Test Runner (Not maintained).

verify pacts with a Quarkus project

Have a look at the Quarkus Pact provider extension

I want to verify pacts but don't want to use sbt or gradle or leiningen

You want to look at: provider

verify interactions with a message queue

As part of the V3 pact specification, we have defined a new pact file for interactions with message queues. The Gradle pact plugin supports a mechanism where you can verify V3 message pacts, have a look at pact gradle plugin. The JUnit pact library also supports verification of V3 message pacts, have a look at junit.

I Use Ruby or Go or something else

The pact-jvm libraries are pure jvm technologies and do not have any native dependencies.

However, if you have a ruby provider, the json produced by this library is compatible with the ruby pact library. You'll want to look at: Ruby Pact.

For .Net, there is Pact-net.

For JS, there is Pact-JS.

For Go, there is Pact-go.

For Rust, there is Pact-Rust.

Have a look at implementations in other languages.

I Use something completely different

There's a limit to how much we can help, however check out pact-jvm-server

How do I transport my pacts from consumers to providers?

You want to look at: Pact Broker

Which is a project that aims at providing tooling to coordinate pact generation and delivery between projects.

I want to contribute

Documentation for contributors is here.

Test Analytics

We are tracking anonymous analytics to gather important usage statistics like JVM version and operating system. To disable tracking, set the 'pactdonot_track' system property or environment variable to 'true'.

Owner

  • Name: Pact Foundation
  • Login: pact-foundation
  • Kind: organization
  • Location: Melbourne, Australia

The cross-language distributed contract testing framework.

GitHub Events

Total
  • Create event: 9
  • Release event: 5
  • Issues event: 41
  • Watch event: 35
  • Delete event: 2
  • Issue comment event: 92
  • Push event: 129
  • Pull request review event: 1
  • Pull request review comment event: 1
  • Pull request event: 15
  • Fork event: 4
Last Year
  • Create event: 9
  • Release event: 5
  • Issues event: 41
  • Watch event: 35
  • Delete event: 2
  • Issue comment event: 92
  • Push event: 129
  • Pull request review event: 1
  • Pull request review comment event: 1
  • Pull request event: 15
  • Fork event: 4

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 4,331
  • Total Committers: 237
  • Avg Commits per committer: 18.274
  • Development Distribution Score (DDS): 0.631
Past Year
  • Commits: 66
  • Committers: 6
  • Avg Commits per committer: 11.0
  • Development Distribution Score (DDS): 0.091
Top Committers
Name Email Commits
Ronald Holshausen u****g@g****m 1,596
Ronald Holshausen u****g@d****u 785
Ronald Holshausen r****n@d****u 476
Ronald Holshausen r****n@s****m 476
thetrav t****v@g****m 187
Ronald Holshausen r****n@g****m 120
Beth Skurrie b****e 36
anto a****i@w****m 19
Piotr Kubowicz p****z@g****m 17
Tim Jones t****s@d****u 17
Ken Scambler k****r@r****m 14
Kristine Jetzke k****e@k****e 14
Ronald Holshausen r****n@p****o 14
Alon Pe'er a****r@s****m 14
Alex Soto a****u@g****m 13
Ronald Holshausen r****n@i****u 13
Yousaf Nabi y****f@p****o 12
Alessio Paciello a****o@t****m 11
JoaoGFarias j****o@t****m 11
Brent Barker b****9@g****m 11
George Kankava g****a@d****m 10
Ryan Dens r****s@c****m 10
Radek Koubsky r****y@g****m 10
Pawel Pelczar p****r@i****m 9
Andrew Steffey 2****y 9
Matt Fellows m****s@o****u 8
Benjamin Debeerst b****t@s****m 8
Marc Paquette m****a@m****m 8
carlz c****b@g****m 8
rejeeshg 7****g 7
and 207 more...

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 354
  • Total pull requests: 53
  • Average time to close issues: over 1 year
  • Average time to close pull requests: about 1 month
  • Total issue authors: 270
  • Total pull request authors: 30
  • Average comments per issue: 3.15
  • Average comments per pull request: 1.21
  • Merged pull requests: 34
  • Bot issues: 6
  • Bot pull requests: 12
Past Year
  • Issues: 40
  • Pull requests: 15
  • Average time to close issues: 29 days
  • Average time to close pull requests: 2 months
  • Issue authors: 28
  • Pull request authors: 8
  • Average comments per issue: 1.4
  • Average comments per pull request: 1.6
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 4
Top Authors
Issue Authors
  • huehnerlady (10)
  • canny[bot] (7)
  • timvahlbrock (7)
  • bethesque (5)
  • biergit (4)
  • mefellows (4)
  • anddreiu (3)
  • edeandrea (3)
  • Subhojit-Dey1234 (3)
  • rholshausen (3)
  • ghost (3)
  • LinghaoYu (3)
  • SchulteMarkus (3)
  • vasile21 (3)
  • prabhleen18 (2)
Pull Request Authors
  • dependabot[bot] (11)
  • YOU54F (6)
  • holly-cummins (4)
  • timvahlbrock (4)
  • huehnerlady (4)
  • samukce (2)
  • renovate[bot] (2)
  • gaeljw (2)
  • edeandrea (2)
  • cburgmer (2)
  • biergit (2)
  • mefellows (2)
  • gjkersten (2)
  • ealesjordan (2)
  • lluis-jt (2)
Top Labels
Issue Labels
bug (47) question (24) enhancement (24) smartbear-supported (18) duplicate (2) regression (1) good first issue (1) help wanted (1) security (1) triage (1)
Pull Request Labels
dependencies (10) github_actions (2) smartbear-supported (1)

Dependencies

consumer/build.gradle maven
  • org.apache.httpcomponents.client5:httpclient5 ${project.httpClientVersion} api
  • com.github.mifmif:generex 1.0.2 implementation
  • com.googlecode.java-diff-utils:diffutils 1.3.0 implementation
  • dk.brics.automaton:automaton 1.11-8 implementation
  • io.ktor:ktor-network-tls-certificates 1.6.2 implementation
  • io.ktor:ktor-server-netty 1.6.2 implementation
  • io.netty:netty-handler ${project.nettyVersion} implementation
  • io.pact.plugin.driver:core ${project.pluginDriverVersion} implementation
  • org.apache.commons:commons-io 1.3.2 implementation
  • org.apache.commons:commons-lang3 ${project.commonsLang3Version} implementation
  • org.apache.commons:commons-text 1.9 implementation
  • org.apache.httpcomponents.client5:httpclient5-fluent ${project.httpClientVersion} implementation
  • org.json:json ${project.jsonVersion} implementation
  • org.slf4j:slf4j-api ${project.slf4jVersion} implementation
  • ch.qos.logback:logback-classic ${project.logbackVersion} testImplementation
  • com.fasterxml.jackson.core:jackson-databind 2.12.4 testImplementation
  • junit:junit ${project.junitVersion} testImplementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-dateutil ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-json ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-xml ${project.groovyVersion} testImplementation
  • org.cthul:cthul-matchers 1.1.0 testImplementation
  • org.hamcrest:hamcrest 2.1 testImplementation
  • org.junit.jupiter:junit-jupiter-params ${project.junit5Version} testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • net.bytebuddy:byte-buddy ${project.bytebuddyVersion} testRuntimeOnly
  • org.junit.jupiter:junit-jupiter-engine ${project.junit5Version} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
  • org.objenesis:objenesis 3.1 testRuntimeOnly
consumer/groovy/build.gradle maven
  • com.github.mifmif:generex 1.0.2 implementation
  • org.apache.commons:commons-collections4 4.4 implementation
  • org.apache.commons:commons-lang3 ${project.commonsLang3Version} implementation
  • org.apache.httpcomponents.client5:httpclient5 ${project.httpClientVersion} implementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} implementation
  • org.codehaus.groovy:groovy-json ${project.groovyVersion} implementation
  • io.github.http-builder-ng:http-builder-ng-apache ${project.httpBuilderVersion} testImplementation
  • junit:junit ${project.junitVersion} testImplementation
  • org.codehaus.groovy:groovy-dateutil ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-xml ${project.groovyVersion} testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
consumer/junit/build.gradle maven
  • junit:junit ${project.junitVersion} implementation
  • org.apache.httpcomponents.client5:httpclient5 ${project.httpClientVersion} implementation
  • org.apache.httpcomponents.client5:httpclient5-fluent ${project.httpClientVersion} implementation
  • ch.qos.logback:logback-core ${project.logbackVersion} testImplementation
  • com.fasterxml.jackson.core:jackson-databind 2.12.4 testImplementation
  • com.fasterxml.jackson.core:jackson-databind 2.11.0.rc1 testImplementation
  • com.jayway.restassured:rest-assured 2.9.0 testImplementation
  • io.github.http-builder-ng:http-builder-ng-apache ${project.httpBuilderVersion} testImplementation
  • javax.activation:activation 1.1 testImplementation
  • javax.xml.bind:jaxb-api 2.3.0 testImplementation
  • org.clojure:clojure 1.10.1 testImplementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-json ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-xml ${project.groovyVersion} testImplementation
  • org.glassfish.jaxb:jaxb-runtime 2.3.0 testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • net.bytebuddy:byte-buddy ${project.bytebuddyVersion} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
  • org.objenesis:objenesis 3.1 testRuntimeOnly
consumer/junit5/build.gradle maven
  • org.junit.jupiter:junit-jupiter-api ${project.junit5Version} implementation
  • org.slf4j:slf4j-api ${project.slf4jVersion} implementation
  • ch.qos.logback:logback-core ${project.logbackVersion} testImplementation
  • com.jayway.restassured:rest-assured 2.9.0 testImplementation
  • io.github.http-builder-ng:http-builder-ng-apache ${project.httpBuilderVersion} testImplementation
  • jakarta.xml.bind:jakarta.xml.bind-api 2.3.2 testImplementation
  • org.apache.commons:commons-collections4 4.4 testImplementation
  • org.apache.commons:commons-io 1.3.2 testImplementation
  • org.apache.httpcomponents.client5:httpclient5 ${project.httpClientVersion} testImplementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-json ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-xml ${project.groovyVersion} testImplementation
  • org.glassfish.jaxb:jaxb-runtime 2.3.2 testImplementation
  • org.hamcrest:hamcrest 2.1 testImplementation
  • org.mockito:mockito-core 2.28.2 testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • org.junit.jupiter:junit-jupiter-engine ${project.junit5Version} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
core/matchers/build.gradle maven
  • com.github.ajalt:mordant 1.2.1 implementation
  • com.github.zafarkhaja:java-semver 0.9.0 implementation
  • com.googlecode.java-diff-utils:diffutils 1.3.0 implementation
  • io.pact.plugin.driver:core ${project.pluginDriverVersion} implementation
  • javax.mail:mail 1.5.0-b01 implementation
  • org.apache.commons:commons-lang3 ${project.commonsLang3Version} implementation
  • org.apache.tika:tika-core 1.27 implementation
  • org.atteo:evo-inflector 1.3 implementation
  • org.slf4j:slf4j-api ${project.slf4jVersion} implementation
  • xerces:xercesImpl 2.12.1 implementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-xml ${project.groovyVersion} testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • ch.qos.logback:logback-classic ${project.logbackVersion} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
core/model/build.gradle maven
  • com.github.mifmif:generex 1.0.2 implementation
  • commons-beanutils:commons-beanutils 1.9.4 implementation
  • io.ktor:ktor-http-jvm 1.6.1 implementation
  • javax.mail:mail 1.5.0-b01 implementation
  • org.apache.commons:commons-collections4 4.4 implementation
  • org.apache.commons:commons-lang3 ${project.commonsLang3Version} implementation
  • org.apache.tika:tika-core 1.27 implementation
  • org.jetbrains.kotlin:kotlin-reflect ${project.kotlinVersion} implementation
  • org.slf4j:slf4j-api ${project.slf4jVersion} implementation
  • ch.qos.logback:logback-classic ${project.logbackVersion} testImplementation
  • com.amazonaws:aws-java-sdk-s3 1.12.32 testImplementation
  • io.github.http-builder-ng:http-builder-ng-apache ${project.httpBuilderVersion} testImplementation
  • io.kotlintest:kotlintest-runner-junit5 3.4.2 testImplementation
  • junit:junit ${project.junitVersion} testImplementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-datetime ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-json ${project.groovyVersion} testImplementation
  • org.hamcrest:hamcrest 2.1 testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • net.bytebuddy:byte-buddy ${project.bytebuddyVersion} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
core/pactbroker/build.gradle maven
  • com.michael-bull.kotlin-result:kotlin-result $kotlinResult api
  • com.google.guava:guava ${project.guavaVersion} implementation
  • io.github.microutils:kotlin-logging $kotlinLogging implementation
  • org.apache.commons:commons-lang3 $commonsLang3Version implementation
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8 $kotlinVersion implementation
  • org.slf4j:slf4j-api ${project.slf4jVersion} implementation
  • ch.qos.logback:logback-classic ${project.logbackVersion} testImplementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-json ${project.groovyVersion} testImplementation
  • org.junit.jupiter:junit-jupiter-api ${project.junit5Version} testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • net.bytebuddy:byte-buddy ${project.bytebuddyVersion} testRuntimeOnly
  • org.junit.jupiter:junit-jupiter-engine ${project.junit5Version} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
core/support/build.gradle maven
  • com.michael-bull.kotlin-result:kotlin-result $kotlinResult api
  • io.github.microutils:kotlin-logging $kotlinLogging api
  • org.apache.httpcomponents.client5:httpclient5 ${project.httpClientVersion} api
  • org.jetbrains.kotlin:kotlin-stdlib $kotlinVersion api
  • com.google.code.findbugs:jsr305 3.0.2 implementation
  • org.apache.commons:commons-lang3 ${project.commonsLang3Version} implementation
  • org.apache.httpcomponents.client5:httpclient5-fluent ${project.httpClientVersion} implementation
  • org.jetbrains.kotlin:kotlin-reflect $kotlinVersion implementation
  • junit:junit ${project.junitVersion} testImplementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.hamcrest:hamcrest 2.2 testImplementation
  • org.junit.jupiter:junit-jupiter-api ${project.junit5Version} testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • org.junit.jupiter:junit-jupiter-engine ${project.junit5Version} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
pact-jvm-server/build.gradle maven
  • ch.qos.logback:logback-core ${project.logbackVersion} implementation
  • com.typesafe.scala-logging:scala-logging_2.12 3.7.2 implementation
  • org.apache.commons:commons-io 1.3.2 implementation
  • org.apache.commons:commons-lang3 ${project.commonsLang3Version} implementation
  • org.apache.tika:tika-core 1.27 implementation
  • ws.unfiltered:unfiltered-netty-server_2.12 0.9.1 implementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • net.bytebuddy:byte-buddy ${project.bytebuddyVersion} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
pact-publish/build.gradle maven
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-json ${project.groovyVersion} testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • ch.qos.logback:logback-classic ${project.logbackVersion} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
pact-specification-test/build.gradle maven
  • ch.qos.logback:logback-core ${project.logbackVersion} testImplementation
  • io.pact.plugin.driver:core ${project.pluginDriverVersion} testImplementation
  • org.apache.tika:tika-core 1.27 testImplementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-json ${project.groovyVersion} testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
provider/build.gradle maven
  • au.com.dius.pact.core:pactbroker 4.3.0-beta.7 api
  • com.michael-bull.kotlin-result:kotlin-result 1.1.12 api
  • io.github.classgraph:classgraph 4.8.129 api
  • com.github.ajalt:mordant 1.2.1 implementation
  • com.vladsch.flexmark:flexmark 0.62.2 implementation
  • com.vladsch.flexmark:flexmark-ext-tables 0.62.2 implementation
  • commons-io:commons-io 2.11.0 implementation
  • io.pact.plugin.driver:core ${project.pluginDriverVersion} implementation
  • org.apache.commons:commons-collections4 4.4 implementation
  • org.apache.commons:commons-lang3 ${project.commonsLang3Version} implementation
  • org.apache.httpcomponents.client5:httpclient5 ${project.httpClientVersion} implementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} implementation
  • org.slf4j:slf4j-api ${project.slf4jVersion} implementation
  • io.dropwizard:dropwizard-testing 1.3.7 testImplementation
  • javax.xml.bind:jaxb-api 2.3.1 testImplementation
  • org.codehaus.groovy:groovy-json ${project.groovyVersion} testImplementation
  • org.hamcrest:hamcrest 2.2 testImplementation
  • org.junit.jupiter:junit-jupiter-api ${project.junit5Version} testImplementation
  • org.mockito:mockito-core 2.28.2 testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • ch.qos.logback:logback-classic ${project.logbackVersion} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
provider/gradle/build.gradle maven
  • com.github.ajalt:mordant 1.2.1 implementation
  • commons-io:commons-io 2.11.0 implementation
  • org.apache.commons:commons-lang3 ${project.commonsLang3Version} implementation
  • junit:junit ${project.junitVersion} testImplementation
  • org.mockito:mockito-core 2.28.2 testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
provider/gradle/tests_suits/test_provider/build.gradle maven
  • org.slf4j:slf4j-simple 1.7.30
provider/junit/build.gradle maven
  • junit:junit ${project.junitVersion} api
  • com.github.rholder:guava-retrying 2.0.0 implementation
  • commons-io:commons-io 2.11.0 implementation
  • javax.mail:mail 1.5.0-b01 implementation
  • org.apache.commons:commons-lang3 ${project.commonsLang3Version} implementation
  • org.apache.httpcomponents.client5:httpclient5 ${project.httpClientVersion} implementation
  • org.apache.httpcomponents.client5:httpclient5-fluent ${project.httpClientVersion} implementation
  • org.slf4j:slf4j-api ${project.slf4jVersion} implementation
  • ch.qos.logback:logback-classic ${project.logbackVersion} testImplementation
  • com.github.rest-driver:rest-client-driver 1.1.45 testImplementation
  • com.github.tomakehurst:wiremock-jre8 2.27.2 testImplementation
  • javax.xml.bind:jaxb-api 2.3.0 testImplementation
  • org.apache.commons:commons-collections4 4.1 testImplementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • net.bytebuddy:byte-buddy ${project.bytebuddyVersion} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
  • org.objenesis:objenesis 3.1 testRuntimeOnly
provider/junit5/build.gradle maven
  • org.junit.jupiter:junit-jupiter-api ${project.junit5Version} api
  • org.slf4j:slf4j-api ${project.slf4jVersion} implementation
  • com.github.javafaker:javafaker 1.0.2 testImplementation
  • com.github.tomakehurst:wiremock 2.27.2 testImplementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-json ${project.groovyVersion} testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • org.yaml:snakeyaml 1.23 testImplementation
  • ru.lanwen.wiremock:wiremock-junit5 1.3.1 testImplementation
  • ch.qos.logback:logback-classic ${project.logbackVersion} testRuntimeOnly
  • net.bytebuddy:byte-buddy ${project.bytebuddyVersion} testRuntimeOnly
  • org.junit.jupiter:junit-jupiter-engine ${project.junit5Version} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
provider/junit5spring/build.gradle maven
  • javax.servlet:javax.servlet-api 3.1.0 api
  • org.springframework:spring-context 5.3.20 api
  • org.springframework:spring-test 5.3.20 api
  • org.springframework:spring-web 5.3.20 api
  • org.springframework:spring-webflux 5.3.20 api
  • javax.mail:mail 1.5.0-b01 implementation
  • org.apache.commons:commons-lang3 ${project.commonsLang3Version} implementation
  • org.hamcrest:hamcrest 2.2 implementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • org.springframework.boot:spring-boot-starter-test 2.5.3 testImplementation
  • org.springframework.boot:spring-boot-starter-web 2.5.3 testImplementation
provider/lein/build.gradle maven
  • leiningen-core:leiningen-core 2.9.4 implementation
  • org.apache.httpcomponents.client5:httpclient5 ${project.httpClientVersion} implementation
  • org.apache.maven:maven-aether-provider 3.0.5 implementation
  • org.clojure:clojure 1.10.1 implementation
  • org.clojure:core.match 1.0.0 implementation
  • org.clojure:core.rrb-vector 0.1.1 implementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} implementation
  • org.sonatype.aether:aether-connector-file 1.13.1 implementation
  • org.sonatype.aether:aether-connector-wagon 1.13.1 implementation
  • org.clojure:tools.nrepl 0.2.13 testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
provider/maven/build.gradle maven
  • com.github.ajalt:mordant 1.2.1 implementation
  • org.apache.maven:maven-core 3.8.1 implementation
  • org.apache.maven:maven-plugin-api 3.8.1 implementation
  • org.jetbrains.kotlin:kotlin-reflect $kotlinVersion implementation
  • org.jetbrains.kotlin:kotlin-stdlib $kotlinVersion implementation
  • junit:junit ${project.junitVersion} testImplementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.codehaus.groovy:groovy-nio ${project.groovyVersion} testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • net.bytebuddy:byte-buddy ${project.bytebuddyVersion} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
  • org.objenesis:objenesis 3.1 testRuntimeOnly
provider/spring/build.gradle maven
  • javax.mail:mail 1.5.0-b01 implementation
  • org.apache.commons:commons-collections4 4.4 implementation
  • org.apache.commons:commons-lang3 ${project.commonsLang3Version} implementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} implementation
  • org.codehaus.groovy:groovy ${project.groovyVersion} testImplementation
  • org.spockframework:spock-core 2.0-groovy-3.0 testImplementation
  • net.bytebuddy:byte-buddy ${project.bytebuddyVersion} testRuntimeOnly
  • org.junit.vintage:junit-vintage-engine ${project.junit5Version} testRuntimeOnly
.github/workflows/gradle.yml actions
  • EnricoMi/publish-unit-test-result-action/composite v1 composite
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-java v3 composite
.github/workflows/issue-comment-created.yml actions
  • actions/github-script v6 composite
  • atlassian/gajira-create v3 composite
  • atlassian/gajira-login v3 composite
  • tomhjp/gh-action-jira-search v0.2.1 composite
pact-jvm-server/Dockerfile docker
  • java 8 build
buildSrc/build.gradle maven
  • io.gitlab.arturbosch.detekt:detekt-gradle-plugin 1.21.0 implementation
  • org.apache.commons:commons-text 1.5 implementation
  • org.jetbrains.dokka:dokka-gradle-plugin 1.6.21 implementation
  • org.jetbrains.kotlin:kotlin-gradle-plugin 1.6.21 implementation