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.
This commit is contained in:
parent
3e2d544144
commit
aaa9202883
|
@ -105,6 +105,25 @@
|
|||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>thin-jar</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<dependencies>
|
||||
<!-- The following enables the "thin jar" deployment option. -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot.experimental</groupId>
|
||||
<artifactId>spring-boot-thin-layout</artifactId>
|
||||
<version>${thin.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<properties>
|
||||
|
@ -115,6 +134,7 @@
|
|||
<!-- plugins -->
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
<thin.version>1.0.11.RELEASE</thin.version>
|
||||
</properties>
|
||||
|
||||
</project>
|
|
@ -88,6 +88,28 @@
|
|||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>thin-jar</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot.experimental</groupId>
|
||||
<artifactId>spring-boot-thin-maven-plugin</artifactId>
|
||||
<version>${thin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<!-- Download the dependencies at build time -->
|
||||
<id>resolve</id>
|
||||
<goals>
|
||||
<goal>resolve</goal>
|
||||
</goals>
|
||||
<inherited>false</inherited>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<properties>
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
.gradle/
|
||||
build/
|
|
@ -1,12 +1,16 @@
|
|||
buildscript {
|
||||
ext {
|
||||
springBootVersion = '2.0.0.RELEASE'
|
||||
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("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
|
||||
classpath("${springBootPlugin}:${springBootVersion}")
|
||||
classpath("${thinPlugin}:${thinVersion}")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -14,6 +18,8 @@ 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'
|
||||
|
@ -23,7 +29,6 @@ repositories {
|
|||
mavenCentral()
|
||||
}
|
||||
|
||||
|
||||
dependencies {
|
||||
compile('org.springframework.boot:spring-boot-starter')
|
||||
testCompile('org.springframework.boot:spring-boot-starter-test')
|
||||
|
@ -42,3 +47,21 @@ bootJar {
|
|||
// 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]
|
|
@ -1,6 +1,6 @@
|
|||
#Tue Feb 06 12:27:20 CET 2018
|
||||
#Fri Jun 01 20:39:48 CEST 2018
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.5.1-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.5.1-all.zip
|
||||
|
|
Loading…
Reference in New Issue