Refactor Gradle plugin tests to use runner's plugin classpath

Previously, each test build script used a property to configure its
classpath. This commit simplifies the tests by setting the classpath
once on the GradleRunner, thereby removing the need for it to be set in
each test script. It also allows, and, in fact, requires, the use of
the plugins block to apply the Boot plugin under test.

Unfortunately, this doesn't work for the tests for the reaction to the
Kotlin plugin. See the comments in the GradleBuild class and in each
KotlingPluginActionIntegrationTests build script.

See gh-14680
This commit is contained in:
jnizet 2018-10-02 21:08:22 +02:00 committed by Andy Wilkinson
parent 7e3bee35d7
commit c51449585e
81 changed files with 281 additions and 545 deletions

View File

@ -1,7 +1,5 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'org.springframework.boot' version '{version}'
}
// tag::apply[]

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
// tag::additional[]
springBoot {
buildInfo {

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
// tag::build-info[]
springBoot {
buildInfo()

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
// tag::custom-values[]
springBoot {
buildInfo {

View File

@ -1,11 +1,6 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'io.spring.dependency-management'

View File

@ -1,10 +1,7 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
dependencyManagement {

View File

@ -1,14 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
// tag::dependencies[]

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
apply plugin: 'application'
// tag::main-class[]
mainClassName = 'com.example.ExampleApplication'
// end::main-class[]

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
// tag::enable-jar[]
jar {
enabled = true

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
bootJar {
mainClassName 'com.example.ExampleApplication'
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
bootJar {
mainClassName 'com.example.ExampleApplication'
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
bootJar {
mainClassName 'com.example.ExampleApplication'
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
// tag::main-class[]
bootJar {
mainClassName = 'com.example.ExampleApplication'

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
// tag::main-class[]
bootJar {
manifest {

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
repositories {
mavenCentral()
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
bootWar {
mainClassName 'com.example.ExampleApplication'
classpath file('spring-boot-devtools-1.2.3.RELEASE.jar')

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
bootWar {
mainClassName 'com.example.ExampleApplication'
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
// tag::main-class[]
springBoot {
mainClassName = 'com.example.ExampleApplication'

View File

@ -1,14 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
}
plugins {
id 'war'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
// tag::dependencies[]

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'maven-publish'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
apply plugin: 'maven-publish'
// tag::publishing[]
publishing {
publications {

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'maven'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
apply plugin: 'maven'
// tag::upload[]
uploadBootArchives {
repositories {

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
apply plugin: 'application'
// tag::main-class[]
mainClassName = 'com.example.ExampleApplication'
// end::main-class[]

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
// tag::main[]
bootRun {
main = 'com.example.ExampleApplication'

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
// tag::source-resources[]
bootRun {
sourceResources sourceSets.main

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
apply plugin: 'application'
// tag::main-class[]
springBoot {
mainClassName = 'com.example.ExampleApplication'

View File

@ -25,6 +25,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathExpression;
@ -114,17 +115,18 @@ public class GradleBuild implements TestRule {
GradleBuild.this.script = null;
}
private String pluginClasspath() {
return absolutePath("bin") + "," + absolutePath("build/classes/java/main") + ","
+ absolutePath("build/resources/main") + ","
+ pathOfJarContaining(LaunchScript.class) + ","
+ pathOfJarContaining(ClassVisitor.class) + ","
+ pathOfJarContaining(DependencyManagementPlugin.class) + ","
+ pathOfJarContaining(ArchiveEntry.class);
private List<File> pluginClasspath() {
return Arrays.asList(new File("bin"), new File("build/classes/java/main"),
new File("build/resources/main"),
new File(pathOfJarContaining(LaunchScript.class)),
new File(pathOfJarContaining(ClassVisitor.class)),
new File(pathOfJarContaining(DependencyManagementPlugin.class)),
new File(pathOfJarContaining(ArchiveEntry.class)));
}
private String absolutePath(String path) {
return new File(path).getAbsolutePath();
private String pluginClasspathAsString() {
return pluginClasspath().stream().map(File::getAbsolutePath)
.collect(Collectors.joining(","));
}
private String pathOfJarContaining(Class<?> type) {
@ -160,14 +162,28 @@ public class GradleBuild implements TestRule {
FileCopyUtils.copy(scriptContent,
new FileWriter(new File(this.projectDir, "build.gradle")));
GradleRunner gradleRunner = GradleRunner.create().withProjectDir(this.projectDir)
.withDebug(true);
.withDebug(true).withPluginClasspath(pluginClasspath());
if (this.gradleVersion != null) {
gradleRunner.withGradleVersion(this.gradleVersion);
}
List<String> allArguments = new ArrayList<>();
allArguments.add("-PpluginClasspath=" + pluginClasspath());
allArguments.add("-PbootVersion=" + getBootVersion());
allArguments.add("--stacktrace");
// this is necessary for the tests checking that we react correctly to the Kotlin
// plugin.
// Indeed, when using the plugins block to load the Boot plugin under test,
// relying on the plugin
// classpath set by withPluginClasspath(pluginClasspath()), the Boot plugin and
// the Kotlin plugin
// are loaded using two separate classloaders, and the Boot plugin thus doesn't
// see the Kotlin plugin
// class and can't react to it. To circumvent this test kit limitation, we set the
// classpath
// from the buildscript block of the build script, thanks to this pluginClasspath
// property
allArguments.add("-PpluginClasspath=" + pluginClasspathAsString());
allArguments.addAll(Arrays.asList(arguments));
return gradleRunner.withArguments(allArguments);
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
group = 'com.example'
version = '1.0'

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
group = 'com.example'
version = '1.0'

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
group = 'com.example'
version = '1.0'

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
springBoot {
buildInfo()
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
group = 'com.example'
version = '1.0'

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
group = 'com.example'
version = '1.0'

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'application'
apply plugin: 'java'
applicationName = 'custom'
bootJar {

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'application'
apply plugin: 'java'
bootJar {
mainClassName = 'com.example.ExampleApplication'
}

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'application'
apply plugin: 'java'
bootJar {
mainClassName = 'com.example.ExampleApplication'
}

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'application'
apply plugin: 'war'
bootWar {
mainClassName = 'com.example.ExampleApplication'
}

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'application'
apply plugin: 'java'
bootJar {
mainClassName = 'com.example.ExampleApplication'
}

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'application'
apply plugin: 'war'
bootWar {
mainClassName = 'com.example.ExampleApplication'
}

View File

@ -1,11 +1,7 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
if (project.hasProperty('applyApplicationPlugin')) {
apply plugin: 'application'
applicationDefaultJvmArgs = ['-Dcom.example.a=alpha', '-Dcom.example.b=bravo']

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
repositories {
mavenLocal()
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
if (project.hasProperty('applyDependencyManagementPlugin')) {
apply plugin: 'io.spring.dependency-management'
dependencyManagement {

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
repositories {
flatDir { dirs 'libs' }
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
compileJava {
doLast {
println "$name compiler args: ${options.compilerArgs}"

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
bootJar {
mainClassName = 'com.example.Application'
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
bootJar {
mainClassName = 'com.example.Application'
classifier = 'boot'

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
tasks.withType(JavaCompile) {
options.compilerArgs = ['-Xlint:all']
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xlint:all'
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
task('javaCompileTasksCompilerArgs') {
doFirst {
tasks.withType(JavaCompile) {

View File

@ -1,11 +1,7 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
if (project.hasProperty('applyJavaPlugin')) {
apply plugin: 'java'
}

View File

@ -1,3 +1,8 @@
// this is necessary for the tests checking that we react correctly to the Kotlin plugin.
// Indeed, when using the plugins block to load the Boot plugin under test, relying on the plugin
// classpath set by the test kit gradle runner, the Boot plugin and the Kotlin plugin
// are loaded using two separate classloaders, and the Boot plugin thus doesn't see the Kotlin plugin
// class and can't react to it. To circumvent this test kit limitation, we set the classpath here.
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))

View File

@ -1,3 +1,8 @@
// this is necessary for the tests checking that we react correctly to the Kotlin plugin.
// Indeed, when using the plugins block to load the Boot plugin under test, relying on the plugin
// classpath set by the test kit gradle runner, the Boot plugin and the Kotlin plugin
// are loaded using two separate classloaders, and the Boot plugin thus doesn't see the Kotlin plugin
// class and can't react to it. To circumvent this test kit limitation, we set the classpath here.
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))

View File

@ -1,3 +1,8 @@
// this is necessary for the tests checking that we react correctly to the Kotlin plugin.
// Indeed, when using the plugins block to load the Boot plugin under test, relying on the plugin
// classpath set by the test kit gradle runner, the Boot plugin and the Kotlin plugin
// are loaded using two separate classloaders, and the Boot plugin thus doesn't see the Kotlin plugin
// class and can't react to it. To circumvent this test kit limitation, we set the classpath here.
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))

View File

@ -1,3 +1,8 @@
// this is necessary for the tests checking that we react correctly to the Kotlin plugin.
// Indeed, when using the plugins block to load the Boot plugin under test, relying on the plugin
// classpath set by the test kit gradle runner, the Boot plugin and the Kotlin plugin
// are loaded using two separate classloaders, and the Boot plugin thus doesn't see the Kotlin plugin
// class and can't react to it. To circumvent this test kit limitation, we set the classpath here.
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'maven'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
apply plugin: 'maven'
task('conf2ScopeMappings') {
doFirst {
tasks.getByName('uploadBootArchives').repositories.withType(MavenResolver) {

View File

@ -1,11 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'org.springframework.boot' version '{version}' apply false
id 'java'
}
apply plugin: 'io.spring.dependency-management'
apply plugin: 'java'
repositories {
mavenLocal()

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
repositories {
flatDir { dirs 'libs' }
}

View File

@ -1,7 +1,3 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
bootWar {
mainClassName = 'com.example.Application'
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
bootWar {
mainClassName = 'com.example.Application'
classifier = 'boot'

View File

@ -1,11 +1,7 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'org.springframework.boot'
if (project.hasProperty('applyWarPlugin')) {
apply plugin: 'war'
}

View File

@ -1,7 +1,5 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'org.springframework.boot' version '{version}' apply false
}
def property(String name, Object defaultValue) {

View File

@ -1,7 +1,5 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'org.springframework.boot' version '{version}' apply false
}
def property(String name, Object defaultValue) {

View File

@ -1,11 +1,7 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'application'
mainClassName = 'com.example.CustomMain'

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
bootJar {
mainClassName = 'com.example.CustomMain'
duplicatesStrategy = "exclude"

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
bootJar {
mainClassName = 'com.example.Application'
preserveFileTimestamps = false

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'application'
springBoot {
mainClassName = 'com.example.CustomMain'
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
bootJar {
mainClassName = 'com.example.Application'
if (project.hasProperty('includeLaunchScript') ? includeLaunchScript : false) {

View File

@ -1,11 +1,7 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'war'
apply plugin: 'org.springframework.boot'
apply plugin: 'application'
mainClassName = 'com.example.CustomMain'

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'war'
apply plugin: 'org.springframework.boot'
bootWar {
mainClassName = 'com.example.Application'
preserveFileTimestamps = false

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'war'
apply plugin: 'org.springframework.boot'
apply plugin: 'application'
springBoot {
mainClassName = 'com.example.CustomMain'
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'war'
apply plugin: 'org.springframework.boot'
bootWar {
mainClassName = 'com.example.Application'
if (project.hasProperty('includeLaunchScript') ? includeLaunchScript : false) {

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'maven'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'maven'
bootJar {
mainClassName = 'com.example.Application'
}

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'maven'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'war'
apply plugin: 'org.springframework.boot'
apply plugin: 'maven'
bootWar {
mainClassName = 'com.example.Application'
}

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'maven-publish'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'maven-publish'
bootJar {
mainClassName = 'com.example.Application'
}

View File

@ -1,13 +1,9 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'war'
id 'maven-publish'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'war'
apply plugin: 'org.springframework.boot'
apply plugin: 'maven-publish'
bootWar {
mainClassName = 'com.example.Application'
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'application'
apply plugin: 'org.springframework.boot'
applicationDefaultJvmArgs = ['-Dcom.foo=bar', '-Dcom.bar=baz']
task echoJvmArguments {

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'application'
apply plugin: 'org.springframework.boot'
task echoMainClassName {
dependsOn compileJava
doLast {

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'application'
apply plugin: 'org.springframework.boot'
mainClassName = 'com.example.CustomMainClass'
task echoMainClassName {

View File

@ -1,8 +1,4 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
bootRun {
sourceResources sourceSets.main
}

View File

@ -1,12 +1,8 @@
buildscript {
dependencies {
classpath files(pluginClasspath.split(','))
}
plugins {
id 'application'
id 'org.springframework.boot' version '{version}'
}
apply plugin: 'application'
apply plugin: 'org.springframework.boot'
springBoot {
mainClassName = 'com.example.CustomMainClass'
}