spring-boot/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-ant/build.gradle

70 lines
1.8 KiB
Groovy
Raw Normal View History

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
}