Andy Wilkinson 714a187d8f Rework dep mgmt again to avoid consumers picking up strict constraints
This paves the way for publishing Gradle module metadata once the
problem caused by snapshot versions and our two-step publication
process has been addressed.

See gh-19609
2020-01-15 12:33:18 +00:00

78 lines
2.1 KiB
Groovy

plugins {
id 'java-library'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.deployed'
id 'org.springframework.boot.internal-dependency-management'
}
description = 'Spring Boot Antlib'
ext {
antVersion = "1.9.3"
}
configurations {
antUnit
antIvy
}
dependencies {
antUnit "org.apache.ant:ant-antunit:1.3"
antIvy "org.apache.ivy:ivy:2.4.0"
api platform(project(":spring-boot-project:spring-boot-dependencies"))
compileOnly project(":spring-boot-project:spring-boot-tools:spring-boot-loader")
compileOnly "org.apache.ant:ant:${antVersion}"
implementation project(":spring-boot-project:spring-boot-tools:spring-boot-loader-tools")
implementation "org.springframework:spring-core"
}
task copyIntegrationTestSources(type: Copy) {
from file("src/it")
into "${buildDir}/it"
}
processResources {
eachFile {
filter { it.replace('${spring-boot.version}', project.version) }
}
}
task integrationTest {
dependsOn copyIntegrationTestSources, jar
def resultsDir = file("${buildDir}/test-results/integrationTest")
inputs.dir file("src/it")
inputs.files sourceSets.main.runtimeClasspath
outputs.dirs resultsDir
doLast {
ant.with {
taskdef(resource: "org/apache/ant/antunit/antlib.xml",
classpath: configurations.antUnit.asPath)
taskdef(resource: "org/apache/ivy/ant/antlib.xml",
classpath: configurations.antIvy.asPath)
taskdef(resource: "org/springframework/boot/ant/antlib.xml",
classpath: sourceSets.main.runtimeClasspath.asPath,
uri: "antlib:org.springframework.boot.ant")
ant.property(name: "ivy.class.path", value: configurations.antIvy.asPath)
ant.property(name: "antunit.class.path", value: configurations.antUnit.asPath)
antunit {
propertyset {
ant.propertyref(name: "build.compiler")
ant.propertyref(name: "antunit.class.path")
ant.propertyref(name: "ivy.class.path")
}
plainlistener()
file("${buildDir}/test-results/integrationTest").mkdirs()
xmllistener(toDir: resultsDir)
fileset(dir: "${buildDir}/it", includes: "**/build.xml")
}
}
}
}
check {
dependsOn integrationTest
}