|
|
|
plugins {
|
|
|
|
id 'org.springframework.boot.conventions'
|
|
|
|
id 'java-base'
|
|
|
|
}
|
|
|
|
|
|
|
|
description = 'Spring Boot Ant smoke test'
|
|
|
|
|
|
|
|
configurations {
|
|
|
|
antDependencies
|
|
|
|
testRepository
|
|
|
|
}
|
|
|
|
|
|
|
|
sourceSets {
|
|
|
|
test
|
|
|
|
}
|
|
|
|
|
|
|
|
plugins.withType(EclipsePlugin) {
|
|
|
|
eclipse {
|
|
|
|
classpath {
|
|
|
|
plusConfigurations = [configurations.testRuntimeClasspath]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
antDependencies 'org.apache.ivy:ivy:2.4.0'
|
|
|
|
antDependencies project(path: ':spring-boot-project:spring-boot-tools:spring-boot-antlib')
|
|
|
|
|
|
|
|
testRepository project(path: ':spring-boot-project:spring-boot-tools:spring-boot-loader', configuration: 'mavenRepository')
|
|
|
|
testRepository project(path: ':spring-boot-project:spring-boot-starters:spring-boot-starter', configuration: 'mavenRepository')
|
|
|
|
|
|
|
|
testImplementation platform(project(':spring-boot-project:spring-boot-dependencies'))
|
|
|
|
testImplementation project(path: ':spring-boot-project:spring-boot-tools:spring-boot-loader-tools')
|
|
|
|
testImplementation 'org.assertj:assertj-core'
|
|
|
|
testImplementation 'org.junit.jupiter:junit-jupiter'
|
|
|
|
testImplementation 'org.springframework:spring-core'
|
|
|
|
}
|
|
|
|
|
|
|
|
task syncTestRepository(type: Sync) {
|
|
|
|
destinationDir = file("${buildDir}/test-repository")
|
|
|
|
from configurations.testRepository
|
|
|
|
rename {
|
|
|
|
it.replaceAll('-[0-9]+\\.[0-9]+-[0-9]+\\.', '-SNAPSHOT.')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
ant.importBuild('build.xml') {
|
|
|
|
'ant' + it
|
|
|
|
}
|
|
|
|
ant.properties['ant-spring-boot.version'] = project.version
|
|
|
|
ant.properties['projectDir'] = project.layout.projectDirectory
|
|
|
|
|
|
|
|
antresolve {
|
|
|
|
dependsOn syncTestRepository, configurations.antDependencies
|
|
|
|
doFirst {
|
|
|
|
ClassLoader antClassLoader = org.apache.tools.ant.Project.class.classLoader
|
|
|
|
configurations.antDependencies.each { antClassLoader.addURL it.toURI().toURL() }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
task test(type: Test) {
|
|
|
|
dependsOn antbuild
|
|
|
|
testClassesDirs = sourceSets.test.output.classesDirs
|
|
|
|
classpath = sourceSets.test.runtimeClasspath
|
|
|
|
}
|
|
|
|
|
|
|
|
check {
|
|
|
|
dependsOn test
|
|
|
|
}
|