152 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Groovy
		
	
	
	
			
		
		
	
	
			152 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Groovy
		
	
	
	
| plugins {
 | |
| 	id "org.asciidoctor.jvm.convert"
 | |
| 	id "org.springframework.boot.conventions"
 | |
| 	id "org.springframework.boot.maven-plugin"
 | |
| 	id "org.springframework.boot.optional-dependencies"
 | |
| }
 | |
| 
 | |
| description = "Spring Boot Maven Plugin"
 | |
| 
 | |
| configurations {
 | |
| 	dependenciesBom
 | |
| 	documentation
 | |
| }
 | |
| 
 | |
| repositories {
 | |
| 	maven {
 | |
| 		url "https://repo.spring.io/release"
 | |
| 		mavenContent {
 | |
| 			includeGroup "io.spring.asciidoctor"
 | |
| 			includeGroup "io.spring.asciidoctor.backends"
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| dependencies {
 | |
| 	compileOnly("org.apache.maven.plugin-tools:maven-plugin-annotations")
 | |
| 	compileOnly("org.sonatype.plexus:plexus-build-api")
 | |
| 
 | |
| 	implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-buildpack-platform"))
 | |
| 	implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-loader-tools"))
 | |
| 	implementation("org.apache.maven.shared:maven-common-artifact-filters") {
 | |
| 		exclude(group: "javax.enterprise", module: "cdi-api")
 | |
| 		exclude(group: "javax.inject", module: "javax.inject")
 | |
| 	}
 | |
| 	implementation("org.apache.maven:maven-plugin-api") {
 | |
| 		exclude(group: "javax.enterprise", module: "cdi-api")
 | |
| 		exclude(group: "javax.inject", module: "javax.inject")
 | |
| 	}
 | |
| 
 | |
| 	intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-buildpack-platform"))
 | |
| 	intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-loader-tools"))
 | |
| 	intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
 | |
| 	intTestImplementation("org.apache.maven.shared:maven-invoker") {
 | |
| 		exclude(group: "javax.inject", module: "javax.inject")
 | |
| 	}
 | |
| 	intTestImplementation("org.assertj:assertj-core")
 | |
| 	intTestImplementation("org.junit.jupiter:junit-jupiter")
 | |
| 	intTestImplementation("org.testcontainers:testcontainers")
 | |
| 	intTestImplementation("org.testcontainers:junit-jupiter")
 | |
| 
 | |
| 	mavenOptionalImplementation("org.apache.maven.plugins:maven-shade-plugin") {
 | |
| 		exclude(group: "javax.enterprise", module: "cdi-api")
 | |
| 		exclude(group: "javax.inject", module: "javax.inject")
 | |
| 	}
 | |
| 
 | |
| 	runtimeOnly("org.sonatype.plexus:plexus-build-api")
 | |
| 
 | |
| 	testImplementation("org.assertj:assertj-core")
 | |
| 	testImplementation("org.junit.jupiter:junit-jupiter")
 | |
| 	testImplementation("org.mockito:mockito-core")
 | |
| 	testImplementation("org.mockito:mockito-junit-jupiter")
 | |
| 	testImplementation("org.springframework:spring-core")
 | |
| 
 | |
| 	versionProperties(project(path: ":spring-boot-project:spring-boot-dependencies", configuration: "effectiveBom"))
 | |
| }
 | |
| 
 | |
| ext {
 | |
| 	versionElements = version.split("\\.")
 | |
| 	xsdVersion = versionElements[0] + "." + versionElements[1]
 | |
| }
 | |
| 
 | |
| syncDocumentationSourceForAsciidoctor {
 | |
| 	from(documentPluginGoals) {
 | |
| 		into "asciidoc/goals"
 | |
| 	}
 | |
| }
 | |
| 
 | |
| sourceSets {
 | |
| 	main {
 | |
| 		output.dir("${buildDir}/generated/resources/xsd", builtBy: "xsdResources")
 | |
| 	}
 | |
| 	intTest {
 | |
| 		output.dir("${buildDir}/generated-resources", builtBy: "extractVersionProperties")
 | |
| 	}
 | |
| }
 | |
| 
 | |
| tasks.withType(org.asciidoctor.gradle.jvm.AbstractAsciidoctorTask) {
 | |
| 	doFirst {
 | |
| 		attributes "spring-boot-xsd-version" : project.ext.xsdVersion
 | |
| 	}
 | |
| }
 | |
| 
 | |
| asciidoctor {
 | |
| 	sources {
 | |
| 		include "index.adoc"
 | |
| 	}
 | |
| }
 | |
| 
 | |
| task asciidoctorPdf(type: org.asciidoctor.gradle.jvm.AsciidoctorTask) {
 | |
| 	sources {
 | |
| 		include "index.adoc"
 | |
| 	}
 | |
| }
 | |
| 
 | |
| syncDocumentationSourceForAsciidoctorPdf {
 | |
| 	from(documentPluginGoals) {
 | |
| 		into "asciidoc/goals"
 | |
| 	}
 | |
| }
 | |
| 
 | |
| javadoc {
 | |
| 	options {
 | |
| 		author = true
 | |
| 		docTitle = "Spring Boot Maven Plugin ${project.version} API"
 | |
| 		encoding = "UTF-8"
 | |
| 		memberLevel = "protected"
 | |
| 		outputLevel = "quiet"
 | |
| 		splitIndex = true
 | |
| 		use = true
 | |
| 		windowTitle = "Spring Boot Maven Plugin ${project.version} API"
 | |
| 	}
 | |
| }
 | |
| 
 | |
| task zip(type: Zip) {
 | |
| 	dependsOn asciidoctor, asciidoctorPdf
 | |
| 	duplicatesStrategy "fail"
 | |
| 	from(asciidoctorPdf.outputDir) {
 | |
| 		into "reference/pdf"
 | |
| 		rename "index.pdf", "${project.name}-reference.pdf"
 | |
| 	}
 | |
| 	from(asciidoctor.outputDir) {
 | |
| 		into "reference/htmlsingle"
 | |
| 	}
 | |
| 	from(javadoc) {
 | |
| 		into "api"
 | |
| 	}
 | |
| }
 | |
| 
 | |
| task xsdResources(type: Sync) {
 | |
| 	from "src/main/xsd/layers-${project.ext.xsdVersion}.xsd"
 | |
| 	into "${buildDir}/generated/resources/xsd/org/springframework/boot/maven"
 | |
| 	rename { fileName -> "layers.xsd" }
 | |
| }
 | |
| 
 | |
| prepareMavenBinaries {
 | |
| 	versions "3.8.1", "3.6.3", "3.5.4"
 | |
| }
 | |
| 
 | |
| artifacts {
 | |
| 	"documentation" zip
 | |
| }
 |