From 62056287b9e49472a598ee4fceda0cfeecbe7428 Mon Sep 17 00:00:00 2001 From: Will Lo Date: Mon, 19 May 2025 12:18:52 -0700 Subject: [PATCH 1/3] Java Files.move will throw if src and destination are in different volumes --- .../jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt index 7724a8c2255..feabc2e0a72 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt @@ -3,6 +3,7 @@ package software.aws.toolkits.jetbrains.services.amazonq.lsp.artifacts +import org.apache.commons.io.FileUtils import com.intellij.openapi.util.SystemInfo import com.intellij.openapi.util.text.StringUtil import com.intellij.util.io.DigestUtil @@ -68,7 +69,7 @@ fun getSubFolders(basePath: Path): List = try { fun moveFilesFromSourceToDestination(sourceDir: Path, targetDir: Path) { try { Files.createDirectories(targetDir.parent) - Files.move(sourceDir, targetDir, StandardCopyOption.REPLACE_EXISTING) + FileUtils.moveDirectory(sourceDir.toFile(), targetDir.toFile()) } catch (e: Exception) { throw IllegalStateException("Failed to move files from $sourceDir to $targetDir", e) } From bd89d6b7b8dc77123a43b4b1754ba9e6a708bb58 Mon Sep 17 00:00:00 2001 From: Will Lo <96078566+Will-ShaoHua@users.noreply.github.com> Date: Mon, 19 May 2025 12:27:20 -0700 Subject: [PATCH 2/3] Update plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt Co-authored-by: Richard Li <742829+rli@users.noreply.github.com> --- .../jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt index feabc2e0a72..a1fee84b6e8 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt @@ -69,6 +69,7 @@ fun getSubFolders(basePath: Path): List = try { fun moveFilesFromSourceToDestination(sourceDir: Path, targetDir: Path) { try { Files.createDirectories(targetDir.parent) + // NIO move does not work when copying across mount points (i.e. /tmp is on tmpfs) FileUtils.moveDirectory(sourceDir.toFile(), targetDir.toFile()) } catch (e: Exception) { throw IllegalStateException("Failed to move files from $sourceDir to $targetDir", e) From 27ff920d11ecd759f7a7cac15fe743d512206449 Mon Sep 17 00:00:00 2001 From: Will Lo Date: Mon, 19 May 2025 14:18:55 -0700 Subject: [PATCH 3/3] detekt --- .../jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt index a1fee84b6e8..a6846c905a6 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/LspUtils.kt @@ -3,11 +3,11 @@ package software.aws.toolkits.jetbrains.services.amazonq.lsp.artifacts -import org.apache.commons.io.FileUtils import com.intellij.openapi.util.SystemInfo import com.intellij.openapi.util.text.StringUtil import com.intellij.util.io.DigestUtil import com.intellij.util.system.CpuArch +import org.apache.commons.io.FileUtils import software.aws.toolkits.core.utils.ZIP_PROPERTY_POSIX import software.aws.toolkits.core.utils.createParentDirectories import software.aws.toolkits.core.utils.exists