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://docs.pact.io
Apache License 2.0
1.08k stars 479 forks source link

Reduce maven transient dependecie #439

Closed Thadir closed 12 months ago

Thadir commented 7 years ago

The dependency list of the pact-jvm-provider and consumer for junit, are a bit big. And can cause a lot of conflicts (think about the sl4j dependence thats cross project from pact-jvm-model to pact-jvm-matcher etc).

We should analyse and reduce the needed packages (and if possible reduce the amount of nested dependencies (but this could be a scala thin).

tmszdmsk commented 6 years ago

I researched topic of CDC today and, to be honest, I am not sure if I should use pact-jvm because of all of these dependencies. scala, kotlin, groovy, aws sdk, gson, kotson, jackson, jsonpath, netty, etc.

I had to exclude some libs in build.gradle dependencies of pact-jvm because they clashed with project ones.


uglyog commented 6 years ago

There is no plan to eradicate Kotlin, the plan is to replace Scala with Kotlin.

tmszdmsk commented 6 years ago

@uglyog Do you need help with that? What module can I start with?

uglyog commented 6 years ago

@tmszdmsk pact-jvm-matchers is a core component that is used by everything else, so converting that would be the place to start.

The other one is converting the Groovy code in pact-jvm-model.

I have been planning on having a version 4.0 that is free from any Scala dependencies.