Files
spring-cloud-contract/samples/standalone/dsl/http-server/build.gradle
Shannon Pamperl 7804933b21 Attempt to keep Kotlin totally off the classpath (#1558)
* Attempt to keep Kotlin totally off the classpath

* Add version header for new class

* Fix a few bugs with the samples and provide better debugging output for javaexec

* Use main consistently

* Fix Gradle's published pom and use maven-publish plugin consistently throughout plugin and samples

* Re-add groovydoc jar

* Have assemble create the groovydoc jar

* Switch to publishToMavenLocal

* Sync dependencies with pom.xml and fix null provider for Gradle versions less than 6.2

* Perform quoting conditionally for Windows only

* Add jsch, aether, and shaded libraries to round out compatibility

* Ensure contract tests are generated before kotlin compile task
2020-12-03 10:24:55 +01:00

96 lines
2.4 KiB
Groovy

plugins {
id "java"
id "org.springframework.boot"
id "io.spring.dependency-management"
id "org.springframework.cloud.contract"
id "maven-publish"
}
group = 'com.example'
version = '0.0.1'
// tag::deps_repos[]
repositories {
mavenCentral()
mavenLocal()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
maven { url "https://repo.spring.io/release" }
}
// end::deps_repos[]
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:$BOM_VERSION"
}
}
contracts {
packageWithBaseClasses = 'com.example.fraud'
// convertToYaml = true
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.cloud:spring-cloud-starter-stream-rabbit")
testImplementation 'org.springframework.cloud:spring-cloud-starter-contract-verifier'
testImplementation(group: 'org.springframework.cloud', name: 'spring-cloud-stream', classifier: 'test-binder')
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude(group: 'org.junit.vintage', module: 'junit-vintage-engine')
}
}
contractTest {
useJUnitPlatform()
systemProperty 'spring.profiles.active', 'gradle'
testLogging {
exceptionFormat = 'full'
}
afterSuite { desc, result ->
if (!desc.parent) {
println "Results: (${result.testCount} tests, ${result.successfulTestCount} successes, ${result.failedTestCount} failures, ${result.skippedTestCount} skipped)"
if (result.testCount == 0) {
throw new IllegalStateException("No tests were found. Failing the build")
}
}
}
}
publishing {
publications {
maven(MavenPublication) {
artifact bootJar
artifact verifierStubsJar
// https://github.com/spring-gradle-plugins/dependency-management-plugin/issues/273
versionMapping {
usage("java-api") {
fromResolutionOf("runtimeClasspath")
}
usage("java-runtime") {
fromResolutionResult()
}
}
}
}
}
clean.doFirst {
delete "~/.m2/repository/com/example/http-server-dsl-gradle"
}
task resolveDependencies {
doLast {
project.rootProject.allprojects.each { subProject ->
subProject.buildscript.configurations.each { configuration ->
configuration.resolve()
}
subProject.configurations.each { configuration ->
configuration.resolve()
}
}
}
}