96 lines
3.6 KiB
Groovy
96 lines
3.6 KiB
Groovy
plugins {
|
|
id 'org.antora' version '1.0.0'
|
|
id 'io.spring.antora.generate-antora-yml' version '0.0.1'
|
|
}
|
|
|
|
apply plugin: 'io.spring.convention.docs'
|
|
apply plugin: 'io.spring.convention.spring-test'
|
|
|
|
dependencies {
|
|
management platform(project(":spring-session-dependencies"))
|
|
testImplementation project(':spring-session-core')
|
|
testImplementation project(':spring-session-data-redis')
|
|
testImplementation project(':spring-session-hazelcast')
|
|
testImplementation project(':spring-session-jdbc')
|
|
testImplementation 'org.springframework:spring-jdbc'
|
|
testImplementation 'org.springframework:spring-messaging'
|
|
testImplementation 'org.springframework:spring-webmvc'
|
|
testImplementation 'org.springframework:spring-websocket'
|
|
testImplementation 'org.springframework.security:spring-security-config'
|
|
testImplementation 'org.springframework.security:spring-security-web'
|
|
testImplementation 'org.springframework.security:spring-security-test'
|
|
testImplementation 'org.mockito:mockito-core'
|
|
testImplementation 'org.mockito:mockito-junit-jupiter'
|
|
testImplementation 'org.springframework:spring-test'
|
|
testImplementation 'org.assertj:assertj-core'
|
|
testImplementation 'com.hazelcast:hazelcast'
|
|
testImplementation 'io.lettuce:lettuce-core'
|
|
testImplementation 'jakarta.servlet:jakarta.servlet-api'
|
|
testImplementation 'org.junit.jupiter:junit-jupiter-api'
|
|
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
|
|
}
|
|
|
|
|
|
antora {
|
|
playbook = 'cached-antora-playbook.yml'
|
|
playbookProvider {
|
|
repository = 'spring-projects/spring-session'
|
|
branch = 'docs-build'
|
|
path = 'lib/antora/templates/per-branch-antora-playbook.yml'
|
|
checkLocalBranch = true
|
|
}
|
|
options = [clean: true, fetch: !project.gradle.startParameter.offline, stacktrace: true]
|
|
}
|
|
|
|
tasks.named("generateAntoraYml") {
|
|
asciidocAttributes = project.provider( { generateAttributes() } )
|
|
asciidocAttributes.putAll(providers.provider( { resolvedVersions(project.configurations.testRuntimeClasspath) }))
|
|
}
|
|
|
|
|
|
def generateAttributes() {
|
|
def springBootVersion = libs.versions.org.springframework.boot.get()
|
|
springBootVersion = springBootVersion.contains("-")
|
|
? springBootVersion.substring(0, springBootVersion.indexOf("-"))
|
|
: springBootVersion
|
|
def springSecurityVersion = libs.org.springframework.security.spring.security.bom.get().version
|
|
springSecurityVersion = springSecurityVersion.contains("-")
|
|
? springSecurityVersion.substring(0, springSecurityVersion.indexOf("-"))
|
|
: springSecurityVersion
|
|
def ghTag = snapshotBuild ? 'main' : project.version
|
|
def docsUrl = 'https://docs.spring.io'
|
|
def springBootRefDocs = "${docsUrl}/spring-boot/docs/${springBootVersion}/reference/html"
|
|
def springSecurityRefDocs = "${docsUrl}/spring-security/reference/${springSecurityVersion}"
|
|
return ['gh-tag':ghTag,
|
|
'spring-boot-version': springBootVersion,
|
|
'spring-boot-ref-docs': springBootRefDocs.toString(),
|
|
'spring-session-version': project.version,
|
|
'spring-security-ref-docs': springSecurityRefDocs.toString(),
|
|
'docs-url': docsUrl]
|
|
}
|
|
|
|
sourceSets {
|
|
test {
|
|
java {
|
|
srcDirs = ['modules/ROOT/examples/java']
|
|
}
|
|
resources {
|
|
srcDirs = ['modules/ROOT/examples/resources']
|
|
}
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
maven { url 'https://repo.spring.io/release' }
|
|
maven { url 'https://repo.spring.io/milestone' }
|
|
maven { url 'https://repo.spring.io/snapshot' }
|
|
}
|
|
|
|
def resolvedVersions(Configuration configuration) {
|
|
return configuration.resolvedConfiguration
|
|
.resolvedArtifacts
|
|
.collectEntries { [(it.name + "-version"): it.moduleVersion.id.version] }
|
|
|
|
}
|