]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4912 Keep deprecated rules extension on server side
authorJulien HENRY <julien.henry@sonarsource.com>
Tue, 26 Nov 2013 11:07:53 +0000 (12:07 +0100)
committerJulien HENRY <julien.henry@sonarsource.com>
Tue, 26 Nov 2013 11:07:53 +0000 (12:07 +0100)
sonar-application/src/main/assembly/extensions/rules/README.txt [deleted file]
sonar-server/src/main/java/org/sonar/server/platform/DefaultServerFileSystem.java
sonar-server/src/test/java/org/sonar/server/platform/DefaultServerFileSystemTest.java
sonar-server/src/test/resources/org/sonar/server/platform/DefaultServerFileSystemTest/shouldFindCheckstyleExtensions/extensions/rules/checkstyle/my-rules.jar [new file with mode: 0644]
sonar-server/src/test/resources/org/sonar/server/platform/DefaultServerFileSystemTest/shouldFindCheckstyleExtensions/extensions/rules/checkstyle/my-rules.xml [new file with mode: 0644]
sonar-server/src/test/resources/org/sonar/server/platform/DefaultServerFileSystemTest/shouldFindCheckstyleExtensions/extensions/rules/checkstyle/my-rules2.jar [new file with mode: 0644]
sonar-server/src/test/resources/org/sonar/server/platform/DefaultServerFileSystemTest/shouldNotFailIfNoCheckstyleExtensions/extensions/rules/pmd/pmd.xml [new file with mode: 0644]

diff --git a/sonar-application/src/main/assembly/extensions/rules/README.txt b/sonar-application/src/main/assembly/extensions/rules/README.txt
deleted file mode 100644 (file)
index 763857b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-See http://docs.codehaus.org/display/SONAR/Extending+Coding+Rules
index 1a213f48ec1869d31a915480e2491303b94f2ca6..64d049672259cacad36c89f5919d5dd746412103 100644 (file)
@@ -176,6 +176,10 @@ public class DefaultServerFileSystem implements ServerFileSystem {
    */
   @Deprecated
   public List<File> getExtensions(String dirName, String... suffixes) {
+    File dir = new File(getHomeDir(), "extensions/rules/" + dirName);
+    if (dir.exists() && dir.isDirectory()) {
+      return getFiles(dir, suffixes);
+    }
     return Collections.emptyList();
   }
 
index 4ff3be82aba83307ac7344a6b453c8c431f0f1f6..358d951f464e5117aad1ad866393aea721c19d80 100644 (file)
@@ -20,6 +20,7 @@
 package org.sonar.server.platform;
 
 import org.junit.Test;
+import org.sonar.api.platform.ServerFileSystem;
 import org.sonar.core.persistence.Database;
 import org.sonar.core.persistence.dialect.Dialect;
 import org.sonar.core.persistence.dialect.MySql;
@@ -68,6 +69,27 @@ public class DefaultServerFileSystemTest {
     assertEquals(0, plugins.size());
   }
 
+  @Test
+  public void shouldFindCheckstyleExtensions() {
+    ServerFileSystem fs = new DefaultServerFileSystem(null, TestUtils.getResource(PATH + "shouldFindCheckstyleExtensions"), null);
+
+    List<File> xmls = fs.getExtensions("checkstyle", "xml");
+    assertEquals(1, xmls.size());
+
+    List<File> all = fs.getExtensions("checkstyle");
+    assertEquals(3, all.size());
+  }
+
+  @Test
+  public void shouldNotFailIfNoCheckstyleExtensions() {
+    ServerFileSystem fs = new DefaultServerFileSystem(null, TestUtils.getResource(PATH + "shouldNotFailIfNoCheckstyleExtensions"), null);
+    List<File> xmls = fs.getExtensions("checkstyle", "xml");
+    assertEquals(0, xmls.size());
+
+    List<File> jars = fs.getExtensions("checkstyle");
+    assertEquals(0, jars.size());
+  }
+
   @Test(expected = IllegalStateException.class)
   public void shouldFailIfHomeDirectoryNotExists() {
     DefaultServerFileSystem fs = new DefaultServerFileSystem(null, new File("/notexists"), null);
diff --git a/sonar-server/src/test/resources/org/sonar/server/platform/DefaultServerFileSystemTest/shouldFindCheckstyleExtensions/extensions/rules/checkstyle/my-rules.jar b/sonar-server/src/test/resources/org/sonar/server/platform/DefaultServerFileSystemTest/shouldFindCheckstyleExtensions/extensions/rules/checkstyle/my-rules.jar
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/sonar-server/src/test/resources/org/sonar/server/platform/DefaultServerFileSystemTest/shouldFindCheckstyleExtensions/extensions/rules/checkstyle/my-rules.xml b/sonar-server/src/test/resources/org/sonar/server/platform/DefaultServerFileSystemTest/shouldFindCheckstyleExtensions/extensions/rules/checkstyle/my-rules.xml
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/sonar-server/src/test/resources/org/sonar/server/platform/DefaultServerFileSystemTest/shouldFindCheckstyleExtensions/extensions/rules/checkstyle/my-rules2.jar b/sonar-server/src/test/resources/org/sonar/server/platform/DefaultServerFileSystemTest/shouldFindCheckstyleExtensions/extensions/rules/checkstyle/my-rules2.jar
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/sonar-server/src/test/resources/org/sonar/server/platform/DefaultServerFileSystemTest/shouldNotFailIfNoCheckstyleExtensions/extensions/rules/pmd/pmd.xml b/sonar-server/src/test/resources/org/sonar/server/platform/DefaultServerFileSystemTest/shouldNotFailIfNoCheckstyleExtensions/extensions/rules/pmd/pmd.xml
new file mode 100644 (file)
index 0000000..e69de29