apply plugin: 'io.spring.convention.spring-module'

dependencies {
	management platform(project(":spring-security-dependencies"))
	api project(':spring-security-core')
	api 'org.springframework:spring-beans'
	api 'org.springframework:spring-context'
	api 'org.springframework:spring-core'
	api 'org.springframework:spring-tx'

	optional 'com.fasterxml.jackson.core:jackson-databind'
	optional 'ldapsdk:ldapsdk'
	optional "com.unboundid:unboundid-ldapsdk"
	optional "org.apache.directory.server:apacheds-core"
	optional "org.apache.directory.server:apacheds-core-entry"
	optional "org.apache.directory.server:apacheds-protocol-shared"
	optional "org.apache.directory.server:apacheds-protocol-ldap"
	optional "org.apache.directory.server:apacheds-server-jndi"
	optional 'org.apache.directory.shared:shared-ldap'
	api ('org.springframework.ldap:spring-ldap-core') {
		exclude(group: 'commons-logging', module: 'commons-logging')
		exclude(group: 'org.springframework', module: 'spring-beans')
		exclude(group: 'org.springframework', module: 'spring-core')
		exclude(group: 'org.springframework', module: 'spring-tx')
		exclude(group: 'org.springframework.data', module: 'spring-data-commons')
	}

	testImplementation project(':spring-security-test')
	testImplementation 'org.slf4j:slf4j-api'
	testImplementation "org.assertj:assertj-core"
	testImplementation "org.junit.jupiter:junit-jupiter-api"
	testImplementation "org.junit.jupiter:junit-jupiter-params"
	testImplementation "org.junit.jupiter:junit-jupiter-engine"
	testImplementation "org.mockito:mockito-core"
	testImplementation "org.mockito:mockito-junit-jupiter"
	testImplementation "org.springframework:spring-test"
	testImplementation 'org.skyscreamer:jsonassert'
}

integrationTest {
//	  exclude('**/OpenLDAPIntegrationTestSuite.class')
	maxParallelForks = 1
}
