plugins { id "java" id "org.springframework.boot.conventions" id "org.springframework.boot.docker-test" } description = "Spring Boot cache smoke test" sourceSets { redisTest { compileClasspath += sourceSets.main.output runtimeClasspath += sourceSets.main.output } } configurations { caffeine couchbase ehcache hazelcast infinispan } dependencies { caffeine(enforcedPlatform(project(":spring-boot-project:spring-boot-dependencies"))) caffeine("com.github.ben-manes.caffeine:caffeine") couchbase(enforcedPlatform(project(":spring-boot-project:spring-boot-dependencies"))) couchbase(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-couchbase")) dockerTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-redis")) dockerTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) dockerTestImplementation(project(":spring-boot-project:spring-boot-testcontainers")) dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) dockerTestImplementation("org.testcontainers:junit-jupiter") ehcache(enforcedPlatform(project(":spring-boot-project:spring-boot-dependencies"))) ehcache("javax.cache:cache-api") ehcache("org.ehcache:ehcache::jakarta") hazelcast(enforcedPlatform(project(":spring-boot-project:spring-boot-dependencies"))) hazelcast("com.hazelcast:hazelcast") hazelcast("com.hazelcast:hazelcast-spring") implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-actuator")) implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-cache")) implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) infinispan(enforcedPlatform(project(":spring-boot-project:spring-boot-dependencies"))) infinispan("javax.cache:cache-api") infinispan("org.infinispan:infinispan-commons") infinispan("org.infinispan:infinispan-component-annotations") infinispan("org.infinispan:infinispan-core") infinispan("org.infinispan:infinispan-jcache") testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) } def testCaffeine = tasks.register("testCaffeine", Test) { description = "Runs the tests against Caffeine" classpath = sourceSets.test.runtimeClasspath + configurations.caffeine } def testCouchbase = tasks.register("testCouchbase", Test) { description = "Runs the tests against Couchbase" classpath = sourceSets.test.runtimeClasspath + configurations.couchbase } def testEhcache = tasks.register("testEhcache", Test) { description = "Runs the tests against Ehcache" classpath = sourceSets.test.runtimeClasspath + configurations.ehcache systemProperties = ["spring.cache.jcache.config" : "classpath:ehcache3.xml"] } def testHazelcast = tasks.register("testHazelcast", Test) { description = "Runs the tests against Hazelcast" classpath = sourceSets.test.runtimeClasspath + configurations.hazelcast } def testInfinispan = tasks.register("testInfinispan", Test) { description = "Runs the tests against Infinispan" classpath = sourceSets.test.runtimeClasspath + configurations.infinispan systemProperties = ["spring.cache.jcache.config" : "classpath:infinispan.xml"] } tasks.named("check").configure { dependsOn testCaffeine, testCouchbase, testEhcache, testHazelcast, testInfinispan }