diff --git a/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/DependencyCustomizer.java b/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/DependencyCustomizer.java index 1615b43a82c..5f60b1a5ed2 100644 --- a/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/DependencyCustomizer.java +++ b/spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/DependencyCustomizer.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * 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. @@ -144,7 +144,6 @@ public class DependencyCustomizer { if (DependencyCustomizer.this.loader.getResource(path) == null) { return false; } - return true; } catch (Exception ex) { // swallow exception and continue diff --git a/spring-boot-project/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/DependencyCustomizerTests.java b/spring-boot-project/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/DependencyCustomizerTests.java index cd1cdc9c7d0..d77cafc8d22 100644 --- a/spring-boot-project/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/DependencyCustomizerTests.java +++ b/spring-boot-project/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/DependencyCustomizerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * 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. @@ -138,6 +138,48 @@ public class DependencyCustomizerTests { assertThat(this.classNode.getAnnotations(new ClassNode(Grab.class))).hasSize(1); } + @Test + public void allResourcesPresentWithAllResourcesPresentPerformsAdd() { + this.dependencyCustomizer.ifAllResourcesPresent("dependency-customizer-tests/resource1.txt", + "dependency-customizer-tests/resource2.txt").add("spring-boot-starter-logging"); + assertThat(this.classNode.getAnnotations(new ClassNode(Grab.class))).hasSize(1); + } + + @Test + public void allResourcesPresentWithSomeResourcesPresentDoesNotPerformAdd() { + this.dependencyCustomizer.ifAllResourcesPresent("dependency-customizer-tests/resource1.txt", + "dependency-customizer-tests/does-not-exist.txt").add("spring-boot-starter-logging"); + assertThat(this.classNode.getAnnotations(new ClassNode(Grab.class))).isEmpty(); + } + + @Test + public void allResourcesPresentWithNoResourcesPresentDoesNotPerformAdd() { + this.dependencyCustomizer.ifAllResourcesPresent("dependency-customizer-tests/does-not-exist", + "dependency-customizer-tests/does-not-exist-either.txt").add("spring-boot-starter-logging"); + assertThat(this.classNode.getAnnotations(new ClassNode(Grab.class))).isEmpty(); + } + + @Test + public void anyResourcesPresentWithAllResourcesPresentPerformsAdd() { + this.dependencyCustomizer.ifAnyResourcesPresent("dependency-customizer-tests/resource1.txt", + "dependency-customizer-tests/resource2.txt").add("spring-boot-starter-logging"); + assertThat(this.classNode.getAnnotations(new ClassNode(Grab.class))).hasSize(1); + } + + @Test + public void anyResourcesPresentWithSomeResourcesPresentPerforms() { + this.dependencyCustomizer.ifAnyResourcesPresent("dependency-customizer-tests/resource1.txt", + "dependency-customizer-tests/does-not-exist.txt").add("spring-boot-starter-logging"); + assertThat(this.classNode.getAnnotations(new ClassNode(Grab.class))).hasSize(1); + } + + @Test + public void anyResourcesPresentWithNoResourcesPresentDoesNotPerformAdd() { + this.dependencyCustomizer.ifAnyResourcesPresent("dependency-customizer-tests/does-not-exist", + "dependency-customizer-tests/does-not-exist-either.txt").add("spring-boot-starter-logging"); + assertThat(this.classNode.getAnnotations(new ClassNode(Grab.class))).isEmpty(); + } + private void assertGrabAnnotation(AnnotationNode annotationNode, String group, String module, String version, String classifier, String type, boolean transitive) { assertThat(getMemberValue(annotationNode, "group")).isEqualTo(group); diff --git a/spring-boot-project/spring-boot-cli/src/test/resources/dependency-customizer-tests/resource1.txt b/spring-boot-project/spring-boot-cli/src/test/resources/dependency-customizer-tests/resource1.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/spring-boot-project/spring-boot-cli/src/test/resources/dependency-customizer-tests/resource2.txt b/spring-boot-project/spring-boot-cli/src/test/resources/dependency-customizer-tests/resource2.txt new file mode 100644 index 00000000000..e69de29bb2d