From ff714f6c17f2e1fda607405d4dfe86384763e3ca Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 17 Dec 2014 20:14:03 +0000 Subject: [PATCH] Update module layout to package custom scope dependencies in lib/ Fixes gh-2187 --- .../org/springframework/boot/loader/tools/Layouts.java | 10 +++++++++- .../boot/loader/tools/LayoutsTests.java | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/spring-boot-tools/spring-boot-loader-tools/src/main/java/org/springframework/boot/loader/tools/Layouts.java b/spring-boot-tools/spring-boot-loader-tools/src/main/java/org/springframework/boot/loader/tools/Layouts.java index fe38cb383a..be28fd56b9 100644 --- a/spring-boot-tools/spring-boot-loader-tools/src/main/java/org/springframework/boot/loader/tools/Layouts.java +++ b/spring-boot-tools/spring-boot-loader-tools/src/main/java/org/springframework/boot/loader/tools/Layouts.java @@ -17,15 +17,19 @@ package org.springframework.boot.loader.tools; import java.io.File; +import java.util.Arrays; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; +import java.util.Set; /** * Common {@link Layout}s. * * @author Phillip Webb * @author Dave Syer + * @author Andy Wilkinson */ public class Layouts { @@ -147,6 +151,10 @@ public class Layouts { */ public static class Module implements Layout { + private static final Set LIB_DESTINATION_SCOPES = new HashSet( + Arrays.asList(LibraryScope.COMPILE, LibraryScope.RUNTIME, + LibraryScope.CUSTOM)); + @Override public String getLauncherClassName() { return null; @@ -154,7 +162,7 @@ public class Layouts { @Override public String getLibraryDestination(String libraryName, LibraryScope scope) { - if (LibraryScope.COMPILE.equals(scope) || LibraryScope.RUNTIME.equals(scope)) { + if (LIB_DESTINATION_SCOPES.contains(scope)) { return "lib/"; } return null; diff --git a/spring-boot-tools/spring-boot-loader-tools/src/test/java/org/springframework/boot/loader/tools/LayoutsTests.java b/spring-boot-tools/spring-boot-loader-tools/src/test/java/org/springframework/boot/loader/tools/LayoutsTests.java index 95b4ac4efe..31b98f4044 100644 --- a/spring-boot-tools/spring-boot-loader-tools/src/test/java/org/springframework/boot/loader/tools/LayoutsTests.java +++ b/spring-boot-tools/spring-boot-loader-tools/src/test/java/org/springframework/boot/loader/tools/LayoutsTests.java @@ -91,6 +91,8 @@ public class LayoutsTests { nullValue()); assertThat(layout.getLibraryDestination("lib.jar", LibraryScope.RUNTIME), equalTo("lib/")); + assertThat(layout.getLibraryDestination("lib.jar", LibraryScope.CUSTOM), + equalTo("lib/")); } }