From a0f273a041f7b3fe6bb517d232753f2beb10dd96 Mon Sep 17 00:00:00 2001 From: Nils Hartmann Date: Sun, 7 Aug 2022 11:48:33 +0200 Subject: [PATCH 1/2] Explicit error message if source is not an archive This commit split the existing assertion to provide an explicit error message if the source file is not an archive. See gh-31997 --- .../org/springframework/boot/jarmode/layertools/Context.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-tools/spring-boot-jarmode-layertools/src/main/java/org/springframework/boot/jarmode/layertools/Context.java b/spring-boot-project/spring-boot-tools/spring-boot-jarmode-layertools/src/main/java/org/springframework/boot/jarmode/layertools/Context.java index 168e3d3148..f38364f883 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-jarmode-layertools/src/main/java/org/springframework/boot/jarmode/layertools/Context.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-jarmode-layertools/src/main/java/org/springframework/boot/jarmode/layertools/Context.java @@ -55,7 +55,8 @@ class Context { * @param workingDir the working directory */ Context(File archiveFile, File workingDir) { - Assert.state(isExistingFile(archiveFile) && isJarOrWar(archiveFile), "Unable to find source archive"); + Assert.state(isExistingFile(archiveFile), "Unable to find source archive"); + Assert.state(isJarOrWar(archiveFile), "Source archive doesn't end with .jar or .war"); this.archiveFile = archiveFile; this.workingDir = workingDir; this.relativeDir = deduceRelativeDir(archiveFile.getParentFile(), this.workingDir); From e94ddfa5896ba2729adfe1616b94fa372694d112 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Wed, 17 Aug 2022 08:31:28 +0200 Subject: [PATCH 2/2] Polish "Explicit error message if source is not an archive" See gh-31997 --- .../org/springframework/boot/jarmode/layertools/Context.java | 4 ++-- .../springframework/boot/jarmode/layertools/ContextTests.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spring-boot-project/spring-boot-tools/spring-boot-jarmode-layertools/src/main/java/org/springframework/boot/jarmode/layertools/Context.java b/spring-boot-project/spring-boot-tools/spring-boot-jarmode-layertools/src/main/java/org/springframework/boot/jarmode/layertools/Context.java index f38364f883..427df6b947 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-jarmode-layertools/src/main/java/org/springframework/boot/jarmode/layertools/Context.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-jarmode-layertools/src/main/java/org/springframework/boot/jarmode/layertools/Context.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 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. @@ -56,7 +56,7 @@ class Context { */ Context(File archiveFile, File workingDir) { Assert.state(isExistingFile(archiveFile), "Unable to find source archive"); - Assert.state(isJarOrWar(archiveFile), "Source archive doesn't end with .jar or .war"); + Assert.state(isJarOrWar(archiveFile), "Source archive " + archiveFile + " must end with .jar or .war"); this.archiveFile = archiveFile; this.workingDir = workingDir; this.relativeDir = deduceRelativeDir(archiveFile.getParentFile(), this.workingDir); diff --git a/spring-boot-project/spring-boot-tools/spring-boot-jarmode-layertools/src/test/java/org/springframework/boot/jarmode/layertools/ContextTests.java b/spring-boot-project/spring-boot-tools/spring-boot-jarmode-layertools/src/test/java/org/springframework/boot/jarmode/layertools/ContextTests.java index cff04bd2e9..fc8e320f1c 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-jarmode-layertools/src/test/java/org/springframework/boot/jarmode/layertools/ContextTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-jarmode-layertools/src/test/java/org/springframework/boot/jarmode/layertools/ContextTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 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. @@ -55,7 +55,7 @@ class ContextTests { File zip = new File(this.temp, "test.zip"); Files.createFile(zip.toPath()); assertThatIllegalStateException().isThrownBy(() -> new Context(zip, this.temp)) - .withMessage("Unable to find source archive"); + .withMessageContaining("test.zip must end with .jar or .war"); } @Test