buildscript { repositories { mavenCentral() mavenLocal() maven { url "http://repo.spring.io/libs-snapshot-local" } maven { url "http://repo.spring.io/libs-release-local" } maven { url "http://repo.spring.io/libs-staging-local/" } maven { url 'http://repo.spring.io/plugins-snapshot' } maven { url "http://repo.spring.io/plugins-release-local" } maven { url "http://repo.spring.io/plugins-staging-local/" } } dependencies { classpath "org.springframework.boot:spring-boot-gradle-plugin:1.4.0.BUILD-SNAPSHOT" } } group = 'com.example' version = '0.0.1-SNAPSHOT' repositories { mavenCentral() mavenLocal() maven { url "http://repo.spring.io/snapshot" } maven { url "http://repo.spring.io/milestone" } maven { url "http://repo.spring.io/libs-release-local" } maven { url "http://repo.spring.io/libs-staging-local/" } } apply plugin: 'groovy' apply plugin: 'spring-boot' apply plugin: 'maven-publish' apply plugin: 'maven' dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:$BOM_VERSION" mavenBom "org.springframework.cloud:spring-cloud-contract-dependencies:${project.findProperty('verifierVersion') ?: verifierVersion}" } } dependencies { compile("org.springframework.boot:spring-boot-starter-web") compile("org.springframework.boot:spring-boot-starter-actuator") testCompile 'com.google.code.gson:gson' testCompile 'org.springframework.boot:spring-boot-starter-test' testCompile 'org.springframework.restdocs:spring-restdocs-mockmvc' testCompile 'org.springframework.cloud:spring-cloud-contract-wiremock' } test { systemProperty 'spring.profiles.active', 'gradle' testLogging { exceptionFormat = 'full' } } task wrapper(type: Wrapper) { gradleVersion = '2.14' } task stubsJar(type: Jar, dependsOn: ['copySnippets', 'copySources', 'copyClasses']) { baseName = project.name classifier = 'stubs' from project.file("${project.buildDir}/stubs") } artifacts { archives stubsJar } task copySnippets(type: Copy, dependsOn: test) { from "target/snippets/stubs" into "${project.buildDir}/stubs/META-INF/${project.group}/${project.name}/${project.version}/mappings" } task copySources(type: Copy) { from "src/main/java" include '**/model/Fraud*.*' into "${project.buildDir}/stubs/" } task copyClasses(type: Copy) { from "${project.buildDir}/classes/main/" include '**/model/Fraud*.*' into "${project.buildDir}/stubs/" } clean.doFirst { delete 'target/snippets/stubs' delete "~/.m2/repository/com/example/http-server-restdocs-gradle" } task resolveDependencies { doLast { project.rootProject.allprojects.each { subProject -> subProject.buildscript.configurations.each { configuration -> configuration.resolve() } subProject.configurations.each { configuration -> configuration.resolve() } } } }