:root_folder: ../../..

== More Complex Plugin Configuration

Sample more complex configuration for Java Project with JUnit tests.


=== Project configuration for Spring Cloud Contract Verifier with JUnit tests and stub publishing

[source,xml]
----
include::{root_folder}/src/test/projects/complex-configuration/pom.xml[tags=plugin]
----

=== Base Test class

[source,java]
----
include::{root_folder}/src/test/projects/complex-configuration/src/test/java/com/blogspot/toomuchcoding/frauddetection/BaseAccurest.java[]
----


=== Sample additional matcher

[source,java]
----
include::{root_folder}/src/test/projects/complex-configuration/src/test/java/com/blogspot/toomuchcoding/frauddetection/matchers/CustomMatchers.java[]
----

=== Sample contract using matcher

[source,java]
----
include::{root_folder}/src/test/projects/complex-configuration/src/test/contracts/shouldMarkClientAsNotFraud.groovy[]
----


=== Project source code

https://github.com/spring-cloud/spring-cloud-contract/tree/main/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration

=== More samples

You can check out the https://github.com/spring-cloud-samples/spring-cloud-contract-samples[Spring Cloud Contract Samples project] for
more examples of Maven plugin setup.