description = 'Spring State Machine Samples Common'

project('spring-statemachine-samples-turnstile') {
	description = 'Spring State Machine Turnstile Sample'
	dependencies {
		compile project(':spring-statemachine-samples-common')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-turnstilereactive') {
	description = 'Spring State Machine Turnstile Reactive Sample'
	dependencies {
		compile project(':spring-statemachine-samples-common')
		compile 'org.springframework.boot:spring-boot-starter-webflux'
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
		testCompile 'org.springframework.boot:spring-boot-starter-test'
	}
}

project('spring-statemachine-samples-showcase') {
	description = 'Spring State Machine Showcase Sample'
	dependencies {
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
		compile project(':spring-statemachine-samples-common')
	}
}

project('spring-statemachine-samples-cdplayer') {
	description = 'Spring State Machine CD Player Sample'
	dependencies {
		compile project(':spring-statemachine-samples-common')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-tasks') {
	description = 'Spring State Machine Parallel Regions Sample'
	dependencies {
		compile project(':spring-statemachine-samples-common')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-washer') {
	description = 'Spring State Machine History State Sample'
	dependencies {
		compile project(':spring-statemachine-samples-common')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-zookeeper') {
	description = 'Spring State Machine Distributed Sample'
	dependencies {
		compile project(':spring-statemachine-samples-common')
		compile project(':spring-statemachine-zookeeper')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-persist') {
	description = 'Spring State Machine Persist Sample'
	dependencies {
		compile project(':spring-statemachine-samples-common')
		compile project(':spring-statemachine-recipes-common')
		compile ('org.hsqldb:hsqldb')
		compile ('org.springframework:spring-jdbc')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-web') {
	description = 'Spring State Machine Web Sample'
	dependencies {
		compile project(':spring-statemachine-cluster')
		compile('org.springframework.boot:spring-boot-starter-security')
		compile('org.springframework.boot:spring-boot-starter-web')
		compile('org.springframework.boot:spring-boot-starter-websocket')
		compile('org.springframework:spring-webmvc')
		compile('org.springframework:spring-websocket')
		compile('org.springframework.security:spring-security-messaging')
		compile('org.springframework.session:spring-session-core')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-scope') {
	description = 'Spring State Machine Web Scope Sample'
	dependencies {
		compile('org.springframework.boot:spring-boot-starter-web')
		compile('org.springframework.boot:spring-boot-starter-thymeleaf')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-security') {
	description = 'Spring State Machine Web Security Sample'
	dependencies {
		compile('org.springframework.boot:spring-boot-starter-web')
		compile('org.springframework.boot:spring-boot-starter-thymeleaf')
		compile('org.springframework.boot:spring-boot-starter-security')
		compile('org.springframework.security:spring-security-config')
		compile('org.springframework.security:spring-security-web')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-eventservice') {
	description = 'Spring State Machine Event Service Sample'
	dependencies {
		compile project(':spring-statemachine-data-common:spring-statemachine-data-redis')
		compile('org.springframework.boot:spring-boot-starter-web')
		compile('org.springframework.boot:spring-boot-starter-thymeleaf')
		compile('org.apache.commons:commons-pool2')
        runtime('redis.clients:jedis')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-deploy') {
	description = 'Spring State Machine Deploy Sample'
	dependencies {
		compile project(':spring-statemachine-uml')
		compile('org.springframework.boot:spring-boot-starter-web')
		compile('org.springframework.boot:spring-boot-starter-thymeleaf')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-ordershipping') {
	description = 'Spring State Machine Order Shipping Sample'
	dependencies {
		compile project(':spring-statemachine-uml')
		compile('org.springframework.boot:spring-boot-starter-web')
		compile('org.springframework.boot:spring-boot-starter-thymeleaf')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-datajpa') {
	description = 'Spring State Machine Data Jpa Sample'
	dependencies {
		compile project(':spring-statemachine-autoconfigure')
		compile project(':spring-statemachine-data-common:spring-statemachine-data-jpa')
		compile('org.springframework.boot:spring-boot-starter-web')
		compile('org.springframework.boot:spring-boot-starter-thymeleaf')
		compile('org.springframework.boot:spring-boot-starter-data-jpa')
		compile('org.springframework.boot:spring-boot-devtools')
		compile('com.h2database:h2')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-datajpamultipersist') {
	description = 'Spring State Machine Data Jpa Multi Persist Sample'
	dependencies {
		compile project(':spring-statemachine-autoconfigure')
		compile project(':spring-statemachine-data-common:spring-statemachine-data-jpa')
		compile('org.springframework.boot:spring-boot-starter-web')
		compile('org.springframework.boot:spring-boot-starter-thymeleaf')
		compile('org.springframework.boot:spring-boot-starter-data-jpa')
		compile('org.springframework.boot:spring-boot-devtools')
		compile('com.h2database:h2')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-datapersist') {
	description = 'Spring State Machine Data Persist Sample'
	dependencies {
		compile project(':spring-statemachine-autoconfigure')
		compile project(':spring-statemachine-data-common:spring-statemachine-data-jpa')
		compile project(':spring-statemachine-data-common:spring-statemachine-data-redis')
		compile project(':spring-statemachine-data-common:spring-statemachine-data-mongodb')
		compile('org.springframework.boot:spring-boot-starter-web')
		compile('org.springframework.boot:spring-boot-starter-thymeleaf')
		compile('org.springframework.boot:spring-boot-starter-data-jpa')
		compile('org.springframework.boot:spring-boot-starter-data-redis')
		compile('org.springframework.boot:spring-boot-starter-data-mongodb')
		compile('org.springframework.boot:spring-boot-devtools')
		compile('com.h2database:h2')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

project('spring-statemachine-samples-monitoring') {
	description = 'Spring State Machine Monitoring Sample'
	dependencies {
		compile project(':spring-statemachine-autoconfigure')
		compile('org.springframework.boot:spring-boot-starter-actuator')
		compile('org.springframework.boot:spring-boot-starter-web')
		compile('org.springframework.boot:spring-boot-starter-thymeleaf')
		testCompile('com.jayway.jsonpath:json-path')
		testCompile('com.jayway.jsonpath:json-path-assert')
		testCompile project(path:':spring-statemachine-core', configuration:'testArtifacts')
		testCompile 'io.projectreactor:reactor-test'
	}
}

