copy library action: copy local files only (IDEA-159129)

This commit is contained in:
nik
2016-07-29 11:22:52 +03:00
parent 5e96ff9abd
commit 03f987ea2a
@@ -41,6 +41,7 @@ import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.newvfs.ArchiveFileSystem;
import com.intellij.util.PathUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -94,7 +95,9 @@ public abstract class ChangeLibraryLevelActionBase extends AnAction {
if (targetDirectoryPath != null) {
for (OrderRootType type : OrderRootType.getAllTypes()) {
for (VirtualFile root : library.getFiles(type)) {
fileToCopy.add(VfsUtil.virtualToIoFile(PathUtil.getLocalFile(root)));
if (root.isInLocalFileSystem() || root.getFileSystem() instanceof ArchiveFileSystem) {
fileToCopy.add(VfsUtil.virtualToIoFile(PathUtil.getLocalFile(root)));
}
}
}
if (!copyOrMoveFiles(fileToCopy, targetDirectoryPath, copiedFiles)) {