This is an automated email from the ASF dual-hosted git repository.
elharo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-wagon.git
The following commit(s) were added to refs/heads/master by this push:
new 0ae52a99 Handle no parent directory case (#179)
0ae52a99 is described below
commit 0ae52a99cf3df4a1b48c1410ac0b3e04ceb2db76
Author: Elliotte Rusty Harold <[email protected]>
AuthorDate: Sat Jun 21 20:04:31 2025 +0000
Handle no parent directory case (#179)
* Handle no parent directory case
* move test
---
.../src/main/java/org/apache/maven/wagon/AbstractWagon.java | 13 +++++++------
.../test/java/org/apache/maven/wagon/AbstractWagonTest.java | 5 +++++
2 files changed, 12 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..50ee7d4c 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,18 @@ 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);
- }
+ destinationDirectory.mkdirs();
+ if (!destinationDirectory.exists()) {
+ throw new TransferFailedException(
+ "Specified destination directory cannot be created: " +
destinationDirectory);
}
}
diff --git
a/wagon-provider-api/src/test/java/org/apache/maven/wagon/AbstractWagonTest.java
b/wagon-provider-api/src/test/java/org/apache/maven/wagon/AbstractWagonTest.java
index 1ae8a6ea..aff719ff 100644
---
a/wagon-provider-api/src/test/java/org/apache/maven/wagon/AbstractWagonTest.java
+++
b/wagon-provider-api/src/test/java/org/apache/maven/wagon/AbstractWagonTest.java
@@ -95,6 +95,11 @@ protected void setUp() throws Exception {
wagon.addTransferListener(transferListener);
}
+ // https://github.com/apache/maven-wagon/issues/178
+ public void testCreateParentDirectories() throws TransferFailedException {
+ wagon.createParentDirectories(new File("foo")); // file has no parent
+ }
+
public void testCalculationOfTransferBufferSize() {
// 1 KiB -> Default buffer size (4 KiB)
assertEquals(4096, wagon.getBufferCapacityForTransfer(1024L));