You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
2.6 KiB
Groovy
113 lines
2.6 KiB
Groovy
plugins {
|
|
id 'java-gradle-plugin'
|
|
id 'maven-publish'
|
|
id 'org.asciidoctor.jvm.convert'
|
|
id 'org.asciidoctor.jvm.pdf'
|
|
id 'org.springframework.boot.conventions'
|
|
id 'org.springframework.boot.maven-repository'
|
|
id 'org.springframework.boot.optional-dependencies'
|
|
}
|
|
|
|
description = 'Spring Boot Gradle Plugin'
|
|
|
|
configurations {
|
|
asciidoctorExtensions
|
|
documentation
|
|
}
|
|
|
|
repositories {
|
|
maven {
|
|
url 'https://repo.spring.io/release'
|
|
mavenContent {
|
|
includeGroup 'io.spring.asciidoctor'
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
asciidoctorExtensions 'io.spring.asciidoctor:spring-asciidoctor-extensions-block-switch:0.3.0.RELEASE'
|
|
implementation platform(project(':spring-boot-project:spring-boot-dependencies'))
|
|
implementation project(':spring-boot-project:spring-boot-tools:spring-boot-loader-tools')
|
|
implementation 'io.spring.gradle:dependency-management-plugin'
|
|
implementation 'org.apache.commons:commons-compress'
|
|
implementation 'org.springframework:spring-core'
|
|
|
|
optional enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
|
|
optional 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50'
|
|
|
|
testImplementation 'org.junit.jupiter:junit-jupiter'
|
|
testImplementation 'org.assertj:assertj-core'
|
|
testImplementation 'org.mockito:mockito-core'
|
|
}
|
|
|
|
gradlePlugin {
|
|
plugins {
|
|
springBootPlugin {
|
|
id = 'org.springframework.boot'
|
|
implementationClass = 'org.springframework.boot.gradle.plugin.SpringBootPlugin'
|
|
}
|
|
}
|
|
}
|
|
|
|
jar {
|
|
manifest {
|
|
attributes 'Implementation-Version': project.version
|
|
}
|
|
}
|
|
|
|
task dependencyVersions(type: org.springframework.boot.build.constraints.ExtractVersionConstraints) {
|
|
enforcedPlatform(':spring-boot-project:spring-boot-dependencies')
|
|
}
|
|
|
|
tasks.withType(org.asciidoctor.gradle.jvm.AbstractAsciidoctorTask) {
|
|
dependsOn dependencyVersions
|
|
doFirst {
|
|
attributes 'dependency-management-plugin-version': dependencyVersions.versionConstraints['io.spring.gradle:dependency-management-plugin']
|
|
}
|
|
}
|
|
|
|
asciidoctor {
|
|
configurations 'asciidoctorExtensions'
|
|
sources {
|
|
include 'index.adoc'
|
|
}
|
|
attributes 'stylesheet': 'css/style.css'
|
|
}
|
|
|
|
asciidoctorPdf {
|
|
sources {
|
|
include 'index.adoc'
|
|
}
|
|
}
|
|
|
|
javadoc {
|
|
options {
|
|
author = true
|
|
docTitle = "Spring Boot Gradle Plugin ${project.version} API"
|
|
encoding = 'UTF-8'
|
|
memberLevel = 'protected'
|
|
outputLevel = 'quiet'
|
|
splitIndex = true
|
|
use = true
|
|
windowTitle = "Spring Boot Gradle Plugin ${project.version} API"
|
|
}
|
|
}
|
|
|
|
task zip(type: Zip) {
|
|
dependsOn asciidoctor, asciidoctorPdf
|
|
duplicatesStrategy 'fail'
|
|
from(asciidoctorPdf.outputDir) {
|
|
into 'reference/pdf'
|
|
}
|
|
from(asciidoctor.outputDir) {
|
|
into 'reference/html'
|
|
}
|
|
from(javadoc) {
|
|
into 'api'
|
|
}
|
|
}
|
|
|
|
artifacts {
|
|
'documentation' zip
|
|
}
|