buildscript { repositories { mavenCentral() mavenLocal() maven { url 'https://repo.spring.io/plugins-release' } if (project.hasProperty('fatJar')) { jcenter() } //For plugin-publish-plugin. Could be limited only to that dependency with Gradle 5.1+ - https://docs.gradle.org/5.1.1/release-notes.html#repository-to-dependency-matching gradlePluginPortal() } dependencies { classpath "com.bmuschko:gradle-nexus-plugin:2.3" classpath "io.codearte.gradle.nexus:gradle-nexus-staging-plugin:0.5.3" classpath 'com.gradle.publish:plugin-publish-plugin:0.9.10' if (project.hasProperty('fatJar')) { classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3' } } } ext { repoUser = System.getenv('REPO_USERNAME') ?: project.findProperty('REPO_USERNAME') ?: '' repoPass = System.getenv('REPO_PASSWORD') ?: project.findProperty('REPO_PASSWORD') ?: '' testSystemProperties = [ "WORK_OFFLINE" : gradle.startParameter.isOffline() ? 'TRUE' : 'FALSE' ] JavaVersion javaVer = JavaVersion.current() println "Current Java version equal to [${javaVer}]" javaVersionNumber = javaVer.toString() incompatibleJdk = javaVer.ordinal() > 8 } project.version = findProperty('verifierVersion') apply plugin: 'groovy' apply plugin: "java-gradle-plugin" apply from: "$rootDir/gradle/release.gradle" //apply plugin: "jacoco" group = 'org.springframework.cloud' sourceCompatibility = 1.8 targetCompatibility = 1.8 repositories { mavenLocal() mavenCentral() jcenter() maven { url "https://repo.spring.io/snapshot" } maven { url "https://repo.spring.io/milestone" } maven { url "https://repo.spring.io/libs-release-local" } maven { url "https://repo.spring.io/libs-staging-local/" } } //Dependencies in all subprojects - https://solidsoft.wordpress.com/2014/11/13/gradle-tricks-display-dependencies-for-all-subprojects-in-multi-project-build/ task allDeps(type: DependencyReportTask) {} task allInsight(type: DependencyInsightReportTask) {} configurations { // fixing the groovydoc issue https://stackoverflow.com/questions/20618857/gradle-task-groovydoc-failing-with-noclassdeffounderror jansi.extendsFrom(runtime) } dependencies { compile gradleApi() compile localGroovy() compile "org.eclipse.aether:aether-api:${aetherVersion}" compile("org.springframework.cloud:spring-cloud-contract-converters:${project.version}") { exclude(group: 'org.codehaus.groovy') } compile("org.springframework.cloud:spring-cloud-contract-stub-runner:${project.version}") { exclude(group: 'org.codehaus.groovy') } compile("org.springframework.cloud:spring-cloud-starter-contract-verifier:${project.version}") { exclude(group: 'org.codehaus.groovy') } testCompile('org.spockframework:spock-core:1.3-groovy-2.5') { exclude(group: 'org.codehaus.groovy') } testCompile 'info.solidsoft.spock:spock-global-unroll:0.5.0' testCompile gradleTestKit() } task libtest() { doLast { configurations.testCompile.files.each { println it } } } task checkJdkVersion { doLast { if (incompatibleJdk) { logger.warn("Java Version is equal to [${javaVersionNumber}]. The tests will be disabled (due to issues with compilation)") } } } test { testLogging { exceptionFormat = 'full' } systemProperties = testSystemProperties dependsOn(checkJdkVersion) enabled = !project.hasProperty('fast') && !incompatibleJdk } groovydoc { def title = "IPDS ${version}" groovyClasspath = project.configurations.jansi } dependencies { jansi 'org.fusesource.jansi:jansi:1.11' } /*jacoco { toolVersion = "0.7.7.201606060606" } jacocoTestReport { reports { xml.enabled true } }*/ task resolveDependencies { doLast { project.rootProject.allprojects.each { subProject -> subProject.buildscript.configurations.each { configuration -> configuration.resolve() } subProject.configurations.each { configuration -> configuration.resolve() } } } }