Alessio Stalla aaa9202883 Code for BAEL-1812 (#4432)
* Thin jar option for Spring Boot bootstrap and gradle projects.

* .gitignore for spring-boot-gradle project.

* Maven and Gradle 'thin' Boot builds (optional)

* Rename 'wrapper' to 'thin' and shorten some lines of code to fit the article.
2018-06-08 13:47:00 -07:00

67 lines
2.0 KiB
Groovy

buildscript {
ext {
springBootPlugin = 'org.springframework.boot:spring-boot-gradle-plugin'
springBootVersion = '2.0.2.RELEASE'
thinPlugin = 'org.springframework.boot.experimental:spring-boot-thin-gradle-plugin'
thinVersion = '1.0.11.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("${springBootPlugin}:${springBootVersion}")
classpath("${thinPlugin}:${thinVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
//add tasks thinJar and thinResolve for thin JAR deployments
apply plugin: 'org.springframework.boot.experimental.thin-launcher'
group = 'org.baeldung'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
springBoot {
mainClassName = 'org.baeldung.DemoApplication'
}
bootJar {
// This is overridden by the mainClassName in springBoot{} and added here for reference purposes.
mainClassName = 'org.baeldung.DemoApplication'
// This block serves the same purpose as the above thus commented out. Added here for reference purposes
// manifest {
// attributes 'Start-Class': 'org.baeldung.DemoApplication'
// }
}
//Enable this to generate and use a pom.xml file
apply plugin: 'maven'
//If you want to customize the generated pom.xml you can edit this task and add it as a dependency to the bootJar task
task createPom {
def basePath = 'build/resources/main/META-INF/maven'
doLast {
pom {
withXml(dependencyManagement.pomConfigurer)
}.writeTo("${basePath}/${project.group}/${project.name}/pom.xml")
}
}
//Uncomment the following to use your custom generated pom.xml
bootJar.dependsOn = [createPom]
//Enable this to generate and use a thin.properties file
//bootJar.dependsOn = [thinProperties]