From 4d879eddc469f3fdb8b1d0608525c89d0ec0de12 Mon Sep 17 00:00:00 2001 From: Petri Tuomola Date: Thu, 6 Jan 2022 06:17:36 +0800 Subject: [PATCH] FINERACT-1480: Fix Swagger UI broken by incremental build --- fineract-provider/build.gradle | 10 ++++++++++ .../core/boot/WebFrontEndConfiguration.java | 3 ++- fineract-war/build.gradle | 4 ---- .../fineract/integrationtests/SwaggeruiTest.java | 1 + 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/fineract-provider/build.gradle b/fineract-provider/build.gradle index bc7af4ffc..b72e862f7 100644 --- a/fineract-provider/build.gradle +++ b/fineract-provider/build.gradle @@ -247,6 +247,8 @@ bootRun { dependencies { implementation 'org.mariadb.jdbc:mariadb-java-client:2.7.3' } + + classpath += files("build/generated/swagger-ui") } springBoot { @@ -266,6 +268,14 @@ bootJar { } } +jar { + from('build/generated/swagger-ui') { + include '*' + } +} + +jar.dependsOn resolve + jib { from { image = 'azul/zulu-openjdk-alpine:17' diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/boot/WebFrontEndConfiguration.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/boot/WebFrontEndConfiguration.java index 05ee0cbef..6bea4704b 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/boot/WebFrontEndConfiguration.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/boot/WebFrontEndConfiguration.java @@ -46,7 +46,8 @@ public class WebFrontEndConfiguration implements WebMvcConfigurer { LOG.info("Found Swagger UI at {}", fullPathToSwaggerUiJs); String fullPathToSwaggerUi = fullPathToSwaggerUiJs.substring(0, fullPathToSwaggerUiJs.lastIndexOf("/") + 1); - final String[] swaggerResourceLocations = { "classpath:/static/swagger-ui/", "classpath:" + fullPathToSwaggerUi }; + final String[] swaggerResourceLocations = { "classpath:/static/swagger-ui/", "classpath:fineract.yaml", + "classpath:" + fullPathToSwaggerUi }; registry.addResourceHandler("/swagger-ui/**").addResourceLocations(swaggerResourceLocations); } diff --git a/fineract-war/build.gradle b/fineract-war/build.gradle index 6fca30938..e45cbb5be 100644 --- a/fineract-war/build.gradle +++ b/fineract-war/build.gradle @@ -43,10 +43,6 @@ war { } enabled = true classifier = '' - - from('$rootDir/fineract-provider/build/generated/swagger-ui') { - into 'BOOT-INF/classes/static/swagger-ui' - } } dependencies { diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SwaggeruiTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SwaggeruiTest.java index da606ad2f..51744ec15 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SwaggeruiTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SwaggeruiTest.java @@ -46,6 +46,7 @@ public class SwaggeruiTest { public void testSwaggeruiAccess() { Utils.performServerGet(requestSpec, responseSpec, "/fineract-provider/swagger-ui", null); Utils.performServerGet(requestSpec, responseSpec, "/fineract-provider/swagger-ui/index.html", null); + Utils.performServerGet(requestSpec, responseSpec, "/fineract-provider/swagger-ui/fineract.yaml", null); } }