Browse Source

Merge branch '2.4.x'

Closes gh-26365
pull/26376/head
Andy Wilkinson 5 years ago
parent
commit
aeea15be0f
  1. 2
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java
  2. 12
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/JavaPluginActionIntegrationTests.java
  3. 8
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/JavaPluginActionIntegrationTests.gradle

2
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java

@ -222,6 +222,8 @@ final class JavaPluginAction implements PluginApplicationAction { @@ -222,6 +222,8 @@ final class JavaPluginAction implements PluginApplicationAction {
objectFactory.named(LibraryElements.class, LibraryElements.JAR));
productionRuntimeClasspath.setVisible(false);
productionRuntimeClasspath.setExtendsFrom(runtimeClasspath.getExtendsFrom());
productionRuntimeClasspath.setCanBeResolved(runtimeClasspath.isCanBeResolved());
productionRuntimeClasspath.setCanBeConsumed(runtimeClasspath.isCanBeConsumed());
runtimeClasspath.extendsFrom(developmentOnly);
}

12
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/JavaPluginActionIntegrationTests.java

@ -147,6 +147,18 @@ class JavaPluginActionIntegrationTests { @@ -147,6 +147,18 @@ class JavaPluginActionIntegrationTests {
.contains("org.gradle.dependency.bundling: external");
}
@TestTemplate
void productionRuntimeClasspathIsConfiguredWithResolvabilityAndConsumabilityThatMatchesRuntimeClasspath() {
String productionRuntime = this.gradleBuild.build("configurationResolvabilityAndConsumability",
"-PconfigurationName=runtimeClasspath", "-PapplyJavaPlugin").getOutput();
assertThat(productionRuntime).contains("canBeResolved: true");
assertThat(productionRuntime).contains("canBeConsumed: false");
String runtime = this.gradleBuild.build("configurationResolvabilityAndConsumability",
"-PconfigurationName=productionRuntimeClasspath", "-PapplyJavaPlugin").getOutput();
assertThat(runtime).contains("canBeResolved: true");
assertThat(runtime).contains("canBeConsumed: false");
}
private void createMinimalMainSource() throws IOException {
File examplePackage = new File(this.gradleBuild.getProjectDir(), "src/main/java/com/example");
examplePackage.mkdirs();

8
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/JavaPluginActionIntegrationTests.gradle

@ -34,4 +34,12 @@ task('configurationAttributes') { @@ -34,4 +34,12 @@ task('configurationAttributes') {
println " ${attribute}: ${attributes.getAttribute(attribute)}"
}
}
}
task('configurationResolvabilityAndConsumability') {
doFirst {
def configuration = configurations.findByName(configurationName)
println "canBeResolved: ${configuration.canBeResolved}"
println "canBeConsumed: ${configuration.canBeConsumed}"
}
}
Loading…
Cancel
Save