TF-3689043 (now really disable .jar copying on Unix by default)

This commit is contained in:
Roman Shevchenko
2013-06-21 13:28:38 +04:00
parent d0452af68f
commit 6886722d5f
2 changed files with 9 additions and 5 deletions
+4 -2
View File
@@ -1,8 +1,10 @@
#---------------------------------------------------------------------
# IDE copies library jars to prevent their locking. If copying is not desirable, specify "true"
# IDEA can copy library .jar files to prevent their locking.
# By default this behavior is enabled on Windows and disabled on other platforms.
# Uncomment this property to override.
#---------------------------------------------------------------------
idea.jars.nocopy=false
# idea.jars.nocopy=false
#---------------------------------------------------------------------
# The VM option value to be used start the JVM in debug mode.
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2012 JetBrains s.r.o.
* Copyright 2000-2013 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -49,13 +49,15 @@ public class JarFileSystemImpl extends JarFileSystem implements ApplicationCompo
private static final class JarFileSystemImplLock { }
private static final JarFileSystemImplLock LOCK = new JarFileSystemImplLock();
private final Set<String> myNoCopyJarPaths =
SystemProperties.getBooleanProperty("idea.jars.nocopy", !SystemInfo.isWindows) ? null : new ConcurrentHashSet<String>(FileUtil.PATH_HASHING_STRATEGY);
private final Set<String> myNoCopyJarPaths;
private File myNoCopyJarDir;
private final Map<String, JarHandler> myHandlers = new THashMap<String, JarHandler>(FileUtil.PATH_HASHING_STRATEGY);
private String[] jarPathsCache;
public JarFileSystemImpl(MessageBus bus) {
boolean noCopy = SystemProperties.getBooleanProperty("idea.jars.nocopy", !SystemInfo.isWindows);
myNoCopyJarPaths = noCopy ? null : new ConcurrentHashSet<String>(FileUtil.PATH_HASHING_STRATEGY);
bus.connect().subscribe(VirtualFileManager.VFS_CHANGES, new BulkFileListener.Adapter() {
@Override
public void after(@NotNull final List<? extends VFileEvent> events) {