You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by el...@apache.org on 2025/06/15 13:01:25 UTC
(maven-wagon) 01/01: Handle no parent directory case
This is an automated email from the ASF dual-hosted git repository.
elharo pushed a commit to branch 178
in repository https://gitbox.apache.org/repos/asf/maven-wagon.git
commit 7ce3a011fba8b1401d19ce88b87267fba5327958
Author: Elliotte Rusty Harold <el...@ibiblio.org>
AuthorDate: Sun Jun 15 09:01:16 2025 -0400
Handle no parent directory case
---
.../src/main/java/org/apache/maven/wagon/AbstractWagon.java | 12 ++++++------
.../test/java/org/apache/maven/wagon/StreamWagonTest.java | 5 +++++
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java b/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
index 10a5acaa..ee8e95ad 100644
--- a/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
+++ b/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
@@ -228,17 +228,17 @@ public void disconnect() throws ConnectionException {
protected void createParentDirectories(File destination) throws TransferFailedException {
File destinationDirectory = destination.getParentFile();
+ if (destinationDirectory == null) {
+ return;
+ }
try {
destinationDirectory = destinationDirectory.getCanonicalFile();
} catch (IOException e) {
// not essential to have a canonical file
}
- if (destinationDirectory != null && !destinationDirectory.exists()) {
- destinationDirectory.mkdirs();
- if (!destinationDirectory.exists()) {
- throw new TransferFailedException(
- "Specified destination directory cannot be created: " + destinationDirectory);
- }
+ if (!destinationDirectory.mkdirs()) {
+ throw new TransferFailedException(
+ "Specified destination directory cannot be created: " + destinationDirectory);
}
}
diff --git a/wagon-provider-api/src/test/java/org/apache/maven/wagon/StreamWagonTest.java b/wagon-provider-api/src/test/java/org/apache/maven/wagon/StreamWagonTest.java
index b4b73572..2d873e22 100644
--- a/wagon-provider-api/src/test/java/org/apache/maven/wagon/StreamWagonTest.java
+++ b/wagon-provider-api/src/test/java/org/apache/maven/wagon/StreamWagonTest.java
@@ -49,6 +49,11 @@ protected void openConnectionInternal() throws ConnectionException, Authenticati
private Repository repository = new Repository("id", "url");
+ public void testCreateParentDirectories() throws TransferFailedException {
+ TestWagon wagon = new TestWagon();
+ wagon.createParentDirectories(new File("foo")); // file has no parent
+ }
+
public void testNullInputStream() throws Exception {
StreamingWagon wagon = new TestWagon() {
public void fillInputData(InputData inputData) {