]> source.dussan.org Git - sonarqube.git/commitdiff
Fix project lock on windows
authorDuarte Meneses <duarte.meneses@sonarsource.com>
Fri, 4 Sep 2015 10:13:29 +0000 (12:13 +0200)
committerDuarte Meneses <duarte.meneses@sonarsource.com>
Fri, 4 Sep 2015 11:00:37 +0000 (13:00 +0200)
sonar-batch/src/main/java/org/sonar/batch/scan/ProjectLock.java
sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndexer.java

index f12751f9be6b5d16bf18f70899de55bb5ebb1aea..8f42e7bc3667d7dbf53fd6297eabeea82362845b 100644 (file)
@@ -31,7 +31,6 @@ import java.nio.channels.FileLock;
 import java.nio.channels.OverlappingFileLockException;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.nio.file.attribute.DosFileAttributeView;
 
 public class ProjectLock implements Startable {
   private static final Logger LOG = LoggerFactory.getLogger(ProjectLock.class);
@@ -51,7 +50,6 @@ public class ProjectLock implements Startable {
     try {
       lockRandomAccessFile = new RandomAccessFile(lockFilePath.toFile(), "rw");
       lockChannel = lockRandomAccessFile.getChannel();
-      hideLockFileWindows(lockFilePath);
       lockFile = lockChannel.tryLock(0, 1024, false);
 
       if (lockFile == null) {
@@ -65,17 +63,6 @@ public class ProjectLock implements Startable {
     }
   }
 
-  private static void hideLockFileWindows(Path p) {
-    try {
-      DosFileAttributeView fileAttrView = Files.getFileAttributeView(p, DosFileAttributeView.class);
-      if (fileAttrView != null) {
-        fileAttrView.setHidden(true);
-      }
-    } catch (IOException e) {
-      throw new IllegalStateException("Failed to hide file: " + p.toString(), e);
-    }
-  }
-
   private static void failAlreadyInProgress(Exception e) {
     throw new IllegalStateException("Another SonarQube analysis is already in progress for this project", e);
   }
index da2db7cca44eb90b734d9e967dd1d0035d55cb5a..6b06a999a32851d0e6bc4d5a7ceafecb452e09a9 100644 (file)
@@ -58,7 +58,7 @@ public class FileIndexer {
   private static final Logger LOG = LoggerFactory.getLogger(FileIndexer.class);
 
   private static final IOFileFilter DIR_FILTER = FileFilterUtils.and(HiddenFileFilter.VISIBLE, FileFilterUtils.notFileFilter(FileFilterUtils.prefixFileFilter(".")));
-  private static final IOFileFilter FILE_FILTER = HiddenFileFilter.VISIBLE;
+  private static final IOFileFilter FILE_FILTER = FileFilterUtils.and(HiddenFileFilter.VISIBLE, FileFilterUtils.notFileFilter(FileFilterUtils.nameFileFilter(".sonar_lock")));
 
   private final List<InputFileFilter> filters;
   private final boolean isAggregator;