description = "Spring Web Flow"

dependencies {
	api(project(":spring-binding"))
	implementation("org.springframework:spring-web")
	implementation("org.springframework:spring-webmvc")

	compileOnly("jakarta.el:jakarta.el-api")
	compileOnly("jakarta.servlet:jakarta.servlet-api")
	compileOnly("junit:junit")

	optional("org.hibernate:hibernate-core-jakarta")
	optional("org.springframework.security:spring-security-core")
	optional("org.springframework:spring-orm")
	optional("org.springframework:spring-tx")

	testImplementation("junit:junit")
	testImplementation("org.junit.jupiter:junit-jupiter")
	testImplementation("org.easymock:easymock")
	testImplementation("org.apache.tomcat:tomcat-jasper-el")
	testImplementation("org.springframework:spring-aop")
	testImplementation("org.springframework:spring-jdbc")
	testImplementation("org.springframework:spring-test")
	testImplementation("org.hibernate:hibernate-entitymanager")
	testImplementation("org.hibernate.validator:hibernate-validator")
	testImplementation("org.hsqldb:hsqldb")
	testImplementation("jakarta.servlet.jsp:jakarta.servlet.jsp-api")
	testImplementation("jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api")
	testImplementation("jakarta.servlet:jakarta.servlet-api")
	testImplementation("jakarta.validation:jakarta.validation-api")
	testRuntimeOnly("org.apache.logging.log4j:log4j-core")
	testRuntimeOnly("org.apache.logging.log4j:log4j-slf4j-impl")
	testRuntimeOnly("org.apache.logging.log4j:log4j-jul")

	//
	// We need hibernate-core-jakarta instead of hibernate-core for Jakarta EE,
	// but hibernate-entitymanager module depends on hibernate-core and we
	// don't want both on the classpath, so we explicitly exclude hibernate-core
	// in all configurations.
	//
	// This wrinkle will probably go away again in Hibernate 6.
	//
	configurations.all {
		exclude group: 'org.hibernate', module: 'hibernate-core'
	}
}

