Files
spring-cloud-contract/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/build.gradle
Marcin Grzejszczak 59d3f0d075 Fixed the broken build
2019-07-01 18:31:33 +02:00

159 lines
4.6 KiB
Groovy

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
maven {
url 'https://plugins.gradle.org/m2/'
}
}
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') ?: ''
contractVerifierGradlePluginLibsDir = "$buildDir/contractVerifier-gradle-plugin-libs"
testSystemProperties = [
'contract-gradle-plugin-libs-dir': contractVerifierGradlePluginLibsDir,
"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 from: "$rootDir/gradle/release.gradle"
apply plugin: 'eclipse'
//apply plugin: "jacoco"
apply plugin: 'checkstyle'
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)
contractVerifierGradlePluginLibs
}
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.0-groovy-2.4') {
exclude(group: 'org.codehaus.groovy')
}
testCompile 'info.solidsoft.spock:spock-global-unroll:0.5.0'
testCompile gradleTestKit()
checkstyle "org.springframework.cloud:spring-cloud-build:${springCloudBuildVersion}"
}
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 {
contractVerifierGradlePluginLibs project
jansi 'org.fusesource.jansi:jansi:1.11'
}
task archiveContractVerifierGradlePluginLibsDependencies(type: Sync) {
enabled = !incompatibleJdk
from configurations.contractVerifierGradlePluginLibs.resolvedConfiguration.resolvedArtifacts.collect { it.file }
into contractVerifierGradlePluginLibsDir
}
archiveContractVerifierGradlePluginLibsDependencies.dependsOn project.tasks.jar
test.dependsOn archiveContractVerifierGradlePluginLibsDependencies
/*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()
}
}
}
}