plugins { id "java" id "org.springframework.boot.conventions" } description = "Spring Boot cache smoke test" def caches = [ "caffeine": [ "com.github.ben-manes.caffeine:caffeine" ], "couchbase": [ "com.couchbase.client:java-client", "com.couchbase.client:couchbase-spring-cache" ], "ehcache": [ "javax.cache:cache-api", "org.ehcache:ehcache" ], "ehcache2": [ "net.sf.ehcache:ehcache" ], "hazelcast": [ "com.hazelcast:hazelcast", "com.hazelcast:hazelcast-spring" ], "infinispan": [ "org.infinispan:infinispan-jcache", "org.infinispan:infinispan-spring5-embedded" ], "redis": [ project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-redis") ] ] dependencies { 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")) testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) if (project.hasProperty("cache")) { caches[project.getProperty("cache")].each { runtimeOnly it } } }