From 796307a78cf3e2a8d7548d35b75784d2b563ec11 Mon Sep 17 00:00:00 2001 From: Martin Chalupa Date: Thu, 13 Aug 2020 11:46:06 -0700 Subject: [PATCH 1/2] Mark bootArchives configuration as unresolvable See gh-22943 --- .../boot/gradle/plugin/SpringBootPlugin.java | 1 + ...ootArchivesConfigurationContractTests.java | 57 +++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/BootArchivesConfigurationContractTests.java diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java index 0de213cc66..a41b6de687 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java @@ -111,6 +111,7 @@ public class SpringBootPlugin implements Plugin { private Configuration createBootArchivesConfiguration(Project project) { Configuration bootArchives = project.getConfigurations().create(BOOT_ARCHIVES_CONFIGURATION_NAME); bootArchives.setDescription("Configuration for Spring Boot archive artifacts."); + bootArchives.setCanBeResolved(false); return bootArchives; } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/BootArchivesConfigurationContractTests.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/BootArchivesConfigurationContractTests.java new file mode 100644 index 0000000000..74376aa368 --- /dev/null +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/BootArchivesConfigurationContractTests.java @@ -0,0 +1,57 @@ +/* + * Copyright 2012-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.boot.gradle.plugin; + +import java.io.File; +import java.io.IOException; + +import org.gradle.api.Project; +import org.gradle.api.artifacts.Configuration; +import org.gradle.testfixtures.ProjectBuilder; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Tests for expectations about {code bootArchives} Gradle configuration about its + * purpose. + * + * @author Martin Chalupa + */ +public class BootArchivesConfigurationContractTests { + + @TempDir + File temp; + + private Project project; + + @BeforeEach + void createConvention() throws IOException { + this.project = ProjectBuilder.builder().withProjectDir(this.temp).build(); + } + + @Test + void bootArchivesConfigurationsCannotBeResolved() { + this.project.getPlugins().apply(SpringBootPlugin.class); + Configuration bootArchives = this.project.getConfigurations() + .getByName(SpringBootPlugin.BOOT_ARCHIVES_CONFIGURATION_NAME); + assertThat(bootArchives.isCanBeResolved()).isFalse(); + } + +} From 9dc5b88949a1890e85cf853ac9f6850489d52d75 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 28 Aug 2020 09:32:24 +0100 Subject: [PATCH 2/2] Polish "Mark bootArchives configuration as unresolvable" See gh-22943 --- .../spring-boot-gradle-plugin/build.gradle | 2 ++ ...tTests.java => SpringBootPluginTests.java} | 23 ++++++++----------- 2 files changed, 11 insertions(+), 14 deletions(-) rename spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/{BootArchivesConfigurationContractTests.java => SpringBootPluginTests.java} (70%) diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build.gradle b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build.gradle index 603ff3916c..b16e91c3bf 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build.gradle +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build.gradle @@ -42,6 +42,8 @@ dependencies { testImplementation("org.junit.jupiter:junit-jupiter") testImplementation("org.mockito:mockito-core") testImplementation("org.testcontainers:testcontainers") + + testRuntimeOnly("org.junit.platform:junit-platform-launcher") } gradlePlugin { diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/BootArchivesConfigurationContractTests.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/SpringBootPluginTests.java similarity index 70% rename from spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/BootArchivesConfigurationContractTests.java rename to spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/SpringBootPluginTests.java index 74376aa368..7ffbb1e038 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/BootArchivesConfigurationContractTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/SpringBootPluginTests.java @@ -17,39 +17,34 @@ package org.springframework.boot.gradle.plugin; import java.io.File; -import java.io.IOException; import org.gradle.api.Project; import org.gradle.api.artifacts.Configuration; import org.gradle.testfixtures.ProjectBuilder; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; +import org.springframework.boot.testsupport.classpath.ClassPathExclusions; + import static org.assertj.core.api.Assertions.assertThat; /** - * Tests for expectations about {code bootArchives} Gradle configuration about its - * purpose. + * Tests for {@link SpringBootPlugin}. * * @author Martin Chalupa + * @author Andy Wilkinson */ -public class BootArchivesConfigurationContractTests { +@ClassPathExclusions("kotlin-daemon-client-*.jar") +public class SpringBootPluginTests { @TempDir File temp; - private Project project; - - @BeforeEach - void createConvention() throws IOException { - this.project = ProjectBuilder.builder().withProjectDir(this.temp).build(); - } - @Test void bootArchivesConfigurationsCannotBeResolved() { - this.project.getPlugins().apply(SpringBootPlugin.class); - Configuration bootArchives = this.project.getConfigurations() + Project project = ProjectBuilder.builder().withProjectDir(this.temp).build(); + project.getPlugins().apply(SpringBootPlugin.class); + Configuration bootArchives = project.getConfigurations() .getByName(SpringBootPlugin.BOOT_ARCHIVES_CONFIGURATION_NAME); assertThat(bootArchives.isCanBeResolved()).isFalse(); }