// NOTE: The OpenID 1.0 and 2.0 protocols have been deprecated and users are
// <a href="https://openid.net/specs/openid-connect-migration-1_0.html">encouraged to migrate</a>
// to <a href="https://openid.net/connect/">OpenID Connect</a>, which is supported by <code>spring-security-oauth2</code>.

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

dependencies {
	management platform(project(":spring-security-dependencies"))
	api project(':spring-security-core')
	api project(':spring-security-web')
	api('com.google.inject:guice') {
		exclude group: 'aopalliance', module: 'aopalliance'
		exclude group: 'javax.inject', module: 'javax.inject'
	}
	// openid4java has a compile time dep on guice with a group
	// name which is different from the maven central one.
	// We use the maven central version here instead.
	api('org.openid4java:openid4java-nodeps') {
		exclude group: 'com.google.code.guice', module: 'guice'
		exclude group: 'commons-logging', module: 'commons-logging'
	}
	api 'org.springframework:spring-aop'
	api 'org.springframework:spring-beans'
	api 'org.springframework:spring-context'
	api 'org.springframework:spring-core'
	api 'org.springframework:spring-web'

	provided 'jakarta.servlet:jakarta.servlet-api'

	runtimeOnly 'net.sourceforge.nekohtml:nekohtml'
	runtimeOnly('org.apache.httpcomponents:httpclient') {
		exclude group: 'commons-logging', module: 'commons-logging'
	}

	testImplementation "jakarta.inject:jakarta.inject-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"
}
