Files
spring-pulsar/integration-tests/integration-tests.gradle
Chris Bono 653196f6a0 Use version catalog to drive java platform (#531)
* Use version catalog to drive Java platform

This commit incorporates the use of the Gradle version catalog as well
as the related plugins to automatically update the libs.version.toml
versions file with updated dependencies.

The UpdateProjectVersionPlugin is also updated to modify the spring
boot version  property in the `libs.versions.toml` versions file rather than
gradle.properties.

Resolves #523
2023-12-27 15:43:19 -06:00

64 lines
2.0 KiB
Groovy

plugins {
id 'org.springframework.pulsar.spring-unpublished-module'
id 'spring-pulsar.integration-test-conventions'
alias(libs.plugins.download)
}
description = 'Spring Pulsar Integration Tests'
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/milestone' }
maven { url 'https://repo.spring.io/snapshot' }
}
dependencies {
intTestImplementation project(':spring-pulsar')
intTestImplementation project(':spring-pulsar-reactive')
intTestImplementation project(':spring-pulsar-test')
intTestImplementation 'org.awaitility:awaitility'
intTestImplementation 'org.testcontainers:junit-jupiter'
intTestImplementation 'org.testcontainers:pulsar'
intTestImplementation 'org.testcontainers:rabbitmq'
intTestImplementation libs.spring.boot.starter.test
intTestImplementation libs.spring.boot.starter.amqp
intTestImplementation libs.spring.boot.starter.pulsar
intTestImplementation libs.spring.boot.starter.pulsar.reactive
intTestImplementation libs.spring.boot.testcontainers
intTestRuntimeOnly 'org.junit.platform:junit-platform-launcher'
intTestRuntimeOnly libs.logback.classic
}
test {
testLogging.showStandardStreams = true
}
integrationTest {
maxHeapSize '2048m'
}
def versionCatalog = extensions.getByType(VersionCatalogsExtension).named("libs")
def pulsarVersion = versionCatalog.findVersion("pulsar").orElseThrow().displayName
task downloadRabbitConnector {
onlyIf {
System.getProperty("downloadRabbitConnector") == "true"
}
doLast {
try {
download.run {
println "Downloading Rabbit connector to 'src/intTest/resources/connectors/' (one time only if not already downloaded)..."
src "https://archive.apache.org/dist/pulsar/pulsar-${pulsarVersion}/connectors/pulsar-io-rabbitmq-${pulsarVersion}.nar"
dest "$buildDir/../src/intTest/resources/connectors/pulsar-io-rabbitmq-${pulsarVersion}.nar"
overwrite false
}
} catch (Exception ex) {
println "Failed to download rabbit connector: $ex"
}
}
}
project.afterEvaluate {
integrationTest.dependsOn downloadRabbitConnector
}