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'