description = 'Spring State Machine Data Common'

project('spring-statemachine-data-jpa') {
	apply from: "$rootDir/gradle/java-test-fixtures.gradle"
	description = 'Spring State Machine Data Jpa'

	dependencies {
		api project(':spring-statemachine-data-common')
		api 'org.springframework:spring-orm'
		testImplementation project(':spring-statemachine-test')
		testImplementation(testFixtures(project(":spring-statemachine-data-common")))
		testImplementation(testFixtures(project(":spring-statemachine-core")))
		testImplementation 'io.projectreactor:reactor-test'
		optional 'org.eclipse.persistence:javax.persistence'
		testImplementation 'org.hsqldb:hsqldb'
		testImplementation 'org.springframework.boot:spring-boot-starter-test'
		testRuntimeOnly 'org.springframework.boot:spring-boot-starter-data-jpa'
		testRuntimeOnly 'org.springframework.boot:spring-boot-starter-web'
	}
}

project('spring-statemachine-data-redis') {
	apply from: "$rootDir/gradle/java-test-fixtures.gradle"
	description = 'Spring State Machine Data Redis'

	dependencies {
		api project(':spring-statemachine-data-common')
		api 'org.springframework.data:spring-data-redis'
		testImplementation project(':spring-statemachine-test')
		optional 'org.eclipse.persistence:javax.persistence'
		testImplementation(testFixtures(project(":spring-statemachine-data-common")))
		testImplementation(testFixtures(project(":spring-statemachine-core")))
		testImplementation 'io.projectreactor:reactor-test'
		testImplementation 'org.springframework.boot:spring-boot-starter-test'
		testRuntimeOnly 'org.apache.commons:commons-pool2'
		testRuntimeOnly 'redis.clients:jedis'
		testRuntimeOnly 'org.springframework.boot:spring-boot-starter-data-redis'
		testRuntimeOnly 'org.springframework.boot:spring-boot-starter-web'
	}
}

project('spring-statemachine-data-mongodb') {
	apply from: "$rootDir/gradle/java-test-fixtures.gradle"
	description = 'Spring State Machine Data MongoDB'

	dependencies {
		api project(':spring-statemachine-data-common')
		api 'org.springframework.data:spring-data-mongodb'
		testImplementation project(':spring-statemachine-test')
		optional 'org.eclipse.persistence:javax.persistence'
		testImplementation(testFixtures(project(":spring-statemachine-data-common")))
		testImplementation(testFixtures(project(":spring-statemachine-core")))
		testImplementation 'io.projectreactor:reactor-test'
		testImplementation 'org.springframework.boot:spring-boot-starter-test'
		testRuntimeOnly 'org.springframework.boot:spring-boot-starter-data-mongodb'
		testRuntimeOnly 'org.springframework.boot:spring-boot-starter-web'
	}
}
