]> source.dussan.org Git - sonar-scanner-cli.git/commitdiff
Replace SonarJava by SonarJS in ITs to support SQ 7.3
authorJulien HENRY <julien.henry@sonarsource.com>
Fri, 29 Jun 2018 13:32:56 +0000 (15:32 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Wed, 4 Jul 2018 07:53:54 +0000 (09:53 +0200)
69 files changed:
it/projects/bad-source-dirs/src/Hello.java [deleted file]
it/projects/bad-source-dirs/src/Hello.js [new file with mode: 0644]
it/projects/basedir-with-source/Hello.java [deleted file]
it/projects/basedir-with-source/Hello.js [new file with mode: 0644]
it/projects/java-bytecode/build.xml [deleted file]
it/projects/java-bytecode/build/classes/HasFindbugsViolation.class [deleted file]
it/projects/java-bytecode/lib/deprecated.jar [deleted file]
it/projects/java-bytecode/sonar-project.properties [deleted file]
it/projects/java-bytecode/src/HasFindbugsViolation.java [deleted file]
it/projects/java-sample-no-properties/src/basic/Hello.java [deleted file]
it/projects/java-sample-no-properties/src/basic/World.java [deleted file]
it/projects/java-sample/sonar-project.properties [deleted file]
it/projects/java-sample/src/basic/Hello.java [deleted file]
it/projects/java-sample/src/basic/World.java [deleted file]
it/projects/multi-module/advanced/using-config-file-prop/module1/src/Hello.java [deleted file]
it/projects/multi-module/advanced/using-config-file-prop/module1/src/Hello.js [new file with mode: 0644]
it/projects/multi-module/advanced/using-config-file-prop/module2/src/Hello.java [deleted file]
it/projects/multi-module/advanced/using-config-file-prop/module2/src/Hello.js [new file with mode: 0644]
it/projects/multi-module/customization/deep-path-for-modules/modules/module1/src/Hello.java [deleted file]
it/projects/multi-module/customization/deep-path-for-modules/modules/module1/src/Hello.js [new file with mode: 0644]
it/projects/multi-module/customization/deep-path-for-modules/modules/module2/src/Hello.java [deleted file]
it/projects/multi-module/customization/deep-path-for-modules/modules/module2/src/Hello.js [new file with mode: 0644]
it/projects/multi-module/customization/module-path-with-space/my module 1/src/Hello.java [deleted file]
it/projects/multi-module/customization/module-path-with-space/my module 1/src/Hello.js [new file with mode: 0644]
it/projects/multi-module/customization/module-path-with-space/my module 2/src/Hello.java [deleted file]
it/projects/multi-module/customization/module-path-with-space/my module 2/src/Hello.js [new file with mode: 0644]
it/projects/multi-module/customization/overwriting-parent-properties/module1/src1/Hello.java [deleted file]
it/projects/multi-module/customization/overwriting-parent-properties/module1/src1/Hello.js [new file with mode: 0644]
it/projects/multi-module/customization/overwriting-parent-properties/module2/src2/Hello.java [deleted file]
it/projects/multi-module/customization/overwriting-parent-properties/module2/src2/Hello.js [new file with mode: 0644]
it/projects/multi-module/failures/unexisting-base-dir/module1/src/Hello.java [deleted file]
it/projects/multi-module/failures/unexisting-base-dir/module1/src/Hello.js [new file with mode: 0644]
it/projects/multi-module/failures/unexisting-base-dir/module2/src/Hello.java [deleted file]
it/projects/multi-module/failures/unexisting-base-dir/module2/src/Hello.js [new file with mode: 0644]
it/projects/multi-module/failures/unexisting-config-file/module1/src/Hello.java [deleted file]
it/projects/multi-module/failures/unexisting-config-file/module1/src/Hello.js [new file with mode: 0644]
it/projects/multi-module/failures/unexisting-config-file/module2/src/Hello.java [deleted file]
it/projects/multi-module/failures/unexisting-config-file/module2/src/Hello.js [new file with mode: 0644]
it/projects/multi-module/multi-language/sonar-project.properties [deleted file]
it/projects/multi-module/multi-language/src/main/java/Hello.java [deleted file]
it/projects/multi-module/multi-language/src/main/js/Hello.js [deleted file]
it/projects/multi-module/simplest/simplest-with-props-on-each-module/module1/src/Hello.java [deleted file]
it/projects/multi-module/simplest/simplest-with-props-on-each-module/module1/src/Hello.js [new file with mode: 0644]
it/projects/multi-module/simplest/simplest-with-props-on-each-module/module2/src/Hello.java [deleted file]
it/projects/multi-module/simplest/simplest-with-props-on-each-module/module2/src/Hello.js [new file with mode: 0644]
it/projects/multi-module/simplest/simplest-with-props-on-each-module/src/placeholder.txt
it/projects/multi-module/simplest/simplest-with-props-on-root/module1/src/Hello.java [deleted file]
it/projects/multi-module/simplest/simplest-with-props-on-root/module1/src/Hello.js [new file with mode: 0644]
it/projects/multi-module/simplest/simplest-with-props-on-root/module2/src/Hello.java [deleted file]
it/projects/multi-module/simplest/simplest-with-props-on-root/module2/src/Hello.js [new file with mode: 0644]
it/projects/override-working-dir/src/Hello.java [deleted file]
it/projects/override-working-dir/src/Hello.js [new file with mode: 0644]
it/projects/simple-sample-no-properties/src/basic/Hello.js [new file with mode: 0644]
it/projects/simple-sample-no-properties/src/basic/World.js [new file with mode: 0644]
it/projects/simple-sample/sonar-project.properties [new file with mode: 0644]
it/projects/simple-sample/src/basic/Hello.js [new file with mode: 0644]
it/projects/simple-sample/src/basic/World.js [new file with mode: 0644]
it/projects/using-deprecated-props/build/Hello.class [deleted file]
it/projects/using-deprecated-props/lib/deprecated.jar [deleted file]
it/projects/using-deprecated-props/sonar-project.properties [deleted file]
it/projects/using-deprecated-props/src/Hello.java [deleted file]
it/projects/using-deprecated-props/tests/HelloTest.java [deleted file]
it/src/test/java/com/sonarsource/scanner/it/DistributionTest.java
it/src/test/java/com/sonarsource/scanner/it/JavaTest.java [deleted file]
it/src/test/java/com/sonarsource/scanner/it/MultimoduleTest.java
it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java [new file with mode: 0644]
it/src/test/java/com/sonarsource/scanner/it/SonarScannerTestSuite.java
it/src/test/resources/requires-bytecode-profile.xml [deleted file]
it/src/test/resources/sonar-way-profile.xml [deleted file]

diff --git a/it/projects/bad-source-dirs/src/Hello.java b/it/projects/bad-source-dirs/src/Hello.java
deleted file mode 100644 (file)
index 1291f40..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-public class Hello {
-
-  public void hello() {
-    int i=356;
-    if (true) i=5658;
-  }
-}
diff --git a/it/projects/bad-source-dirs/src/Hello.js b/it/projects/bad-source-dirs/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/basedir-with-source/Hello.java b/it/projects/basedir-with-source/Hello.java
deleted file mode 100644 (file)
index 1291f40..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-public class Hello {
-
-  public void hello() {
-    int i=356;
-    if (true) i=5658;
-  }
-}
diff --git a/it/projects/basedir-with-source/Hello.js b/it/projects/basedir-with-source/Hello.js
new file mode 100644 (file)
index 0000000..dffa936
--- /dev/null
@@ -0,0 +1,4 @@
+function hello() {
+    let i=356;
+    if (true) i=5658;
+}
diff --git a/it/projects/java-bytecode/build.xml b/it/projects/java-bytecode/build.xml
deleted file mode 100644 (file)
index d24c2b8..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="Java Bytecode" default="all" basedir="." xmlns:sonar="antlib:org.sonar.ant">
-
-  <property name="lib.dir" value="../ant-libs"/>
-
-  <property name="build.dir" value="build"/>
-
-  <property name="classes.dir" value="${build.dir}/classes"/>
-
-  <path id="classpath">
-    <fileset dir="./lib" includes="*.jar" />
-  </path>
-
-  <target name="clean" description="Remove all files created by the build process.">
-    <delete dir="${build.dir}" />
-  </target>
-
-  <target name="init">
-    <mkdir dir="${build.dir}" />
-    <mkdir dir="${classes.dir}" />
-  </target>
-
-  <target name="compile" depends="init">
-    <javac destdir="${classes.dir}" classpathref="classpath" fork="true" debug="true" includeAntRuntime="false">
-      <src path="src"/>
-    </javac>
-  </target>
-
-  <target name="all"
-          depends="clean,compile" />
-
-</project>
diff --git a/it/projects/java-bytecode/build/classes/HasFindbugsViolation.class b/it/projects/java-bytecode/build/classes/HasFindbugsViolation.class
deleted file mode 100644 (file)
index f482325..0000000
Binary files a/it/projects/java-bytecode/build/classes/HasFindbugsViolation.class and /dev/null differ
diff --git a/it/projects/java-bytecode/lib/deprecated.jar b/it/projects/java-bytecode/lib/deprecated.jar
deleted file mode 100644 (file)
index 65e3be9..0000000
Binary files a/it/projects/java-bytecode/lib/deprecated.jar and /dev/null differ
diff --git a/it/projects/java-bytecode/sonar-project.properties b/it/projects/java-bytecode/sonar-project.properties
deleted file mode 100644 (file)
index 2c6dcdf..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-# Note that the format of project key is still groupId:artifactId in order to support test with sonar 2.6.
-sonar.projectKey=java:bytecode
-sonar.projectName=Java Bytecode Sample
-sonar.projectVersion=1.0
-
-sonar.sources=src
-sonar.java.binaries=build/classes
-sonar.java.libraries=lib/*.jar
diff --git a/it/projects/java-bytecode/src/HasFindbugsViolation.java b/it/projects/java-bytecode/src/HasFindbugsViolation.java
deleted file mode 100644 (file)
index c68f54f..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-public class HasFindbugsViolation {
-
-  private String field;
-
-  public void use() {
-    new DeprecatedExample().deprecatedMethod(); // violation of squid rule: CallToDeprecatedMethod
-    System.exit(33); // violation on findbugs rule: DM_EXIT
-  }
-
-  public void useFieldForLcom4() {
-    System.out.println(field);
-  }
-}
diff --git a/it/projects/java-sample-no-properties/src/basic/Hello.java b/it/projects/java-sample-no-properties/src/basic/Hello.java
deleted file mode 100644 (file)
index b9db5a0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-package basic;
-
-public class Hello {
-
-  public void hello() {
-    int i=356;
-    if (true) i=5658;
-  }
-}
diff --git a/it/projects/java-sample-no-properties/src/basic/World.java b/it/projects/java-sample-no-properties/src/basic/World.java
deleted file mode 100644 (file)
index c65d91c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-package basic;
-
-public final class World {
-
-  public void world() {
-    System.out.println("hello world");
-  }
-}
diff --git a/it/projects/java-sample/sonar-project.properties b/it/projects/java-sample/sonar-project.properties
deleted file mode 100644 (file)
index 0414efd..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# Note that the format of project key is still groupId:artifactId in order to support test with sonar 2.6.
-sonar.projectKey=java:sample
-sonar.projectName=Java Sample, with comma
-sonar.projectDescription=This is a Java sample
-sonar.projectVersion=1.2.3
-
-sonar.sources=src
diff --git a/it/projects/java-sample/src/basic/Hello.java b/it/projects/java-sample/src/basic/Hello.java
deleted file mode 100644 (file)
index b9db5a0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-package basic;
-
-public class Hello {
-
-  public void hello() {
-    int i=356;
-    if (true) i=5658;
-  }
-}
diff --git a/it/projects/java-sample/src/basic/World.java b/it/projects/java-sample/src/basic/World.java
deleted file mode 100644 (file)
index c65d91c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-package basic;
-
-public final class World {
-
-  public void world() {
-    System.out.println("hello world");
-  }
-}
diff --git a/it/projects/multi-module/advanced/using-config-file-prop/module1/src/Hello.java b/it/projects/multi-module/advanced/using-config-file-prop/module1/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/advanced/using-config-file-prop/module1/src/Hello.js b/it/projects/multi-module/advanced/using-config-file-prop/module1/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/advanced/using-config-file-prop/module2/src/Hello.java b/it/projects/multi-module/advanced/using-config-file-prop/module2/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/advanced/using-config-file-prop/module2/src/Hello.js b/it/projects/multi-module/advanced/using-config-file-prop/module2/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/customization/deep-path-for-modules/modules/module1/src/Hello.java b/it/projects/multi-module/customization/deep-path-for-modules/modules/module1/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/customization/deep-path-for-modules/modules/module1/src/Hello.js b/it/projects/multi-module/customization/deep-path-for-modules/modules/module1/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/customization/deep-path-for-modules/modules/module2/src/Hello.java b/it/projects/multi-module/customization/deep-path-for-modules/modules/module2/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/customization/deep-path-for-modules/modules/module2/src/Hello.js b/it/projects/multi-module/customization/deep-path-for-modules/modules/module2/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/customization/module-path-with-space/my module 1/src/Hello.java b/it/projects/multi-module/customization/module-path-with-space/my module 1/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/customization/module-path-with-space/my module 1/src/Hello.js b/it/projects/multi-module/customization/module-path-with-space/my module 1/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/customization/module-path-with-space/my module 2/src/Hello.java b/it/projects/multi-module/customization/module-path-with-space/my module 2/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/customization/module-path-with-space/my module 2/src/Hello.js b/it/projects/multi-module/customization/module-path-with-space/my module 2/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/customization/overwriting-parent-properties/module1/src1/Hello.java b/it/projects/multi-module/customization/overwriting-parent-properties/module1/src1/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/customization/overwriting-parent-properties/module1/src1/Hello.js b/it/projects/multi-module/customization/overwriting-parent-properties/module1/src1/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/customization/overwriting-parent-properties/module2/src2/Hello.java b/it/projects/multi-module/customization/overwriting-parent-properties/module2/src2/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/customization/overwriting-parent-properties/module2/src2/Hello.js b/it/projects/multi-module/customization/overwriting-parent-properties/module2/src2/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/failures/unexisting-base-dir/module1/src/Hello.java b/it/projects/multi-module/failures/unexisting-base-dir/module1/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/failures/unexisting-base-dir/module1/src/Hello.js b/it/projects/multi-module/failures/unexisting-base-dir/module1/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/failures/unexisting-base-dir/module2/src/Hello.java b/it/projects/multi-module/failures/unexisting-base-dir/module2/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/failures/unexisting-base-dir/module2/src/Hello.js b/it/projects/multi-module/failures/unexisting-base-dir/module2/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/failures/unexisting-config-file/module1/src/Hello.java b/it/projects/multi-module/failures/unexisting-config-file/module1/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/failures/unexisting-config-file/module1/src/Hello.js b/it/projects/multi-module/failures/unexisting-config-file/module1/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/failures/unexisting-config-file/module2/src/Hello.java b/it/projects/multi-module/failures/unexisting-config-file/module2/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/failures/unexisting-config-file/module2/src/Hello.js b/it/projects/multi-module/failures/unexisting-config-file/module2/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/multi-language/sonar-project.properties b/it/projects/multi-module/multi-language/sonar-project.properties
deleted file mode 100644 (file)
index 3598e57..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-sonar.projectKey=multi-language
-sonar.projectName=Simplest multi-language project
-sonar.projectVersion=1.2.3
-
-
-sonar.modules=java-module,js-module
-
-java-module.sonar.language=java
-java-module.sonar.projectBaseDir=.
-java-module.sonar.sources=src/main/java
-
-js-module.sonar.language=js
-js-module.sonar.projectBaseDir=.
-js-module.sonar.sources=src/main/js
diff --git a/it/projects/multi-module/multi-language/src/main/java/Hello.java b/it/projects/multi-module/multi-language/src/main/java/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/multi-language/src/main/js/Hello.js b/it/projects/multi-module/multi-language/src/main/js/Hello.js
deleted file mode 100644 (file)
index 2096104..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-function hello() {
-  alert("Hello World");
-}
diff --git a/it/projects/multi-module/simplest/simplest-with-props-on-each-module/module1/src/Hello.java b/it/projects/multi-module/simplest/simplest-with-props-on-each-module/module1/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/simplest/simplest-with-props-on-each-module/module1/src/Hello.js b/it/projects/multi-module/simplest/simplest-with-props-on-each-module/module1/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/simplest/simplest-with-props-on-each-module/module2/src/Hello.java b/it/projects/multi-module/simplest/simplest-with-props-on-each-module/module2/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/simplest/simplest-with-props-on-each-module/module2/src/Hello.js b/it/projects/multi-module/simplest/simplest-with-props-on-each-module/module2/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
index 1a5bdebd1547c5e653d5fce7b2828b7c429da057..816adb4d07c7bce8b23bbda8d2a45959e1659330 100644 (file)
@@ -1 +1 @@
-The root module contains a src folder but it will not be analysed (SONARPLUGINS-2295) and a warning will be displayed.
\ No newline at end of file
+The root module contains a src folder
\ No newline at end of file
diff --git a/it/projects/multi-module/simplest/simplest-with-props-on-root/module1/src/Hello.java b/it/projects/multi-module/simplest/simplest-with-props-on-root/module1/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/simplest/simplest-with-props-on-root/module1/src/Hello.js b/it/projects/multi-module/simplest/simplest-with-props-on-root/module1/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/multi-module/simplest/simplest-with-props-on-root/module2/src/Hello.java b/it/projects/multi-module/simplest/simplest-with-props-on-root/module2/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/multi-module/simplest/simplest-with-props-on-root/module2/src/Hello.js b/it/projects/multi-module/simplest/simplest-with-props-on-root/module2/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/override-working-dir/src/Hello.java b/it/projects/override-working-dir/src/Hello.java
deleted file mode 100644 (file)
index 1291f40..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-public class Hello {
-
-  public void hello() {
-    int i=356;
-    if (true) i=5658;
-  }
-}
diff --git a/it/projects/override-working-dir/src/Hello.js b/it/projects/override-working-dir/src/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/simple-sample-no-properties/src/basic/Hello.js b/it/projects/simple-sample-no-properties/src/basic/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/simple-sample-no-properties/src/basic/World.js b/it/projects/simple-sample-no-properties/src/basic/World.js
new file mode 100644 (file)
index 0000000..1ea849a
--- /dev/null
@@ -0,0 +1,2 @@
+function world() {
+}
diff --git a/it/projects/simple-sample/sonar-project.properties b/it/projects/simple-sample/sonar-project.properties
new file mode 100644 (file)
index 0000000..38481b7
--- /dev/null
@@ -0,0 +1,6 @@
+sonar.projectKey=sample
+sonar.projectName=Sample, with comma
+sonar.projectDescription=This is a sample
+sonar.projectVersion=1.2.3
+
+sonar.sources=src
diff --git a/it/projects/simple-sample/src/basic/Hello.js b/it/projects/simple-sample/src/basic/Hello.js
new file mode 100644 (file)
index 0000000..fd35455
--- /dev/null
@@ -0,0 +1,2 @@
+function hello() {
+}
diff --git a/it/projects/simple-sample/src/basic/World.js b/it/projects/simple-sample/src/basic/World.js
new file mode 100644 (file)
index 0000000..1ea849a
--- /dev/null
@@ -0,0 +1,2 @@
+function world() {
+}
diff --git a/it/projects/using-deprecated-props/build/Hello.class b/it/projects/using-deprecated-props/build/Hello.class
deleted file mode 100644 (file)
index 48df723..0000000
Binary files a/it/projects/using-deprecated-props/build/Hello.class and /dev/null differ
diff --git a/it/projects/using-deprecated-props/lib/deprecated.jar b/it/projects/using-deprecated-props/lib/deprecated.jar
deleted file mode 100644 (file)
index 65e3be9..0000000
Binary files a/it/projects/using-deprecated-props/lib/deprecated.jar and /dev/null differ
diff --git a/it/projects/using-deprecated-props/sonar-project.properties b/it/projects/using-deprecated-props/sonar-project.properties
deleted file mode 100644 (file)
index 628eaf7..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-sonar.projectKey=using-deprecated-props
-sonar.projectName=Deprecated Props
-sonar.projectVersion=1.2.3
-
-sources=src
-tests=tests
-binaries=build
-libraries=lib/*.jar
diff --git a/it/projects/using-deprecated-props/src/Hello.java b/it/projects/using-deprecated-props/src/Hello.java
deleted file mode 100644 (file)
index 8a94806..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Hello {
-}
diff --git a/it/projects/using-deprecated-props/tests/HelloTest.java b/it/projects/using-deprecated-props/tests/HelloTest.java
deleted file mode 100644 (file)
index 7cb87ed..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-public class HelloTest {
-}
index 858e2085125bee1273ad5cb08d75878273da08af..66b87b59aa03b92679280ab89808e3bfc83914ad 100644 (file)
@@ -21,7 +21,6 @@ package com.sonarsource.scanner.it;
 
 import com.sonar.orchestrator.build.BuildFailureException;
 import com.sonar.orchestrator.build.SonarScanner;
-import com.sonar.orchestrator.locator.ResourceLocation;
 import java.io.File;
 import java.io.IOException;
 import java.util.Map;
@@ -41,10 +40,7 @@ public class DistributionTest extends ScannerTestCase {
 
   @Test
   public void should_succeed_with_self_contained_jre_despite_rubbish_java_home() throws IOException, InterruptedException {
-    String projectKey = "java:basedir-with-source";
-    orchestrator.getServer().restoreProfile(ResourceLocation.create("/sonar-way-profile.xml"));
-    orchestrator.getServer().provisionProject(projectKey, "Basedir with source");
-    orchestrator.getServer().associateProjectToQualityProfile(projectKey, "java", "sonar-way");
+    String projectKey = "basedir-with-source";
 
     File projectDir = new File("projects/basedir-with-source");
     SonarScanner build = newScanner(projectDir, "sonar.projectKey", projectKey)
@@ -59,10 +55,7 @@ public class DistributionTest extends ScannerTestCase {
 
   @Test(expected = BuildFailureException.class)
   public void should_fail_without_self_contained_jre_when_rubbish_java_home() throws IOException, InterruptedException {
-    String projectKey = "java:basedir-with-source";
-    orchestrator.getServer().restoreProfile(ResourceLocation.create("/sonar-way-profile.xml"));
-    orchestrator.getServer().provisionProject(projectKey, "Basedir with source");
-    orchestrator.getServer().associateProjectToQualityProfile(projectKey, "java", "sonar-way");
+    String projectKey = "basedir-with-source";
 
     File projectDir = new File("projects/basedir-with-source");
     SonarScanner build = newScanner(projectDir, "sonar.projectKey", projectKey)
diff --git a/it/src/test/java/com/sonarsource/scanner/it/JavaTest.java b/it/src/test/java/com/sonarsource/scanner/it/JavaTest.java
deleted file mode 100644 (file)
index f950751..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * SonarSource :: IT :: SonarQube Scanner
- * Copyright (C) 2009-2018 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-package com.sonarsource.scanner.it;
-
-import com.sonar.orchestrator.build.BuildResult;
-import com.sonar.orchestrator.build.SonarScanner;
-import com.sonar.orchestrator.locator.ResourceLocation;
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import org.fest.assertions.Condition;
-import org.junit.After;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.sonar.wsclient.issue.Issue;
-import org.sonar.wsclient.issue.IssueQuery;
-import org.sonarqube.ws.WsComponents.Component;
-import org.sonarqube.ws.WsMeasures.Measure;
-
-import static java.lang.Integer.parseInt;
-import static org.fest.assertions.Assertions.assertThat;
-
-public class JavaTest extends ScannerTestCase {
-
-  @Rule
-  public TemporaryFolder temp = new TemporaryFolder();
-
-  @After
-  public void cleanup() {
-    orchestrator.resetData();
-  }
-
-  /**
-   * No bytecode, only sources
-   */
-  @Test
-  public void scan_java_sources() {
-    orchestrator.getServer().restoreProfile(ResourceLocation.create("/sonar-way-profile.xml"));
-    orchestrator.getServer().provisionProject("java:sample", "Java Sample, with comma");
-    orchestrator.getServer().associateProjectToQualityProfile("java:sample", "java", "sonar-way");
-
-    SonarScanner build = newScanner(new File("projects/java-sample"))
-      .setProperty("sonar.verbose", "true");
-    // SONARPLUGINS-3061
-    // Add a trailing slash
-    build.setProperty("sonar.host.url", orchestrator.getServer().getUrl() + "/");
-    orchestrator.executeBuild(build);
-
-    Component project = getComponent("java:sample");
-    assertThat(project.getName()).isEqualTo("Java Sample, with comma");
-    assertThat(project.getDescription()).isEqualTo("This is a Java sample");
-
-    Map<String, Measure> projectMeasures = getMeasures("java:sample", "files", "ncloc", "classes", "violations");
-    // SONARPLUGINS-2399
-    assertThat(parseInt(projectMeasures.get("files").getValue())).isEqualTo(2);
-    assertThat(parseInt(projectMeasures.get("classes").getValue())).isEqualTo(2);
-    assertThat(parseInt(projectMeasures.get("ncloc").getValue())).isGreaterThan(10);
-    assertThat(parseInt(projectMeasures.get("violations").getValue())).isGreaterThan(0);
-
-    Component file = getComponent("java:sample:src/basic/Hello.java");
-    assertThat(file.getName()).isEqualTo("Hello.java");
-
-    Map<String, Measure> fileMeasures = getMeasures("java:sample:src/basic/Hello.java", "files", "ncloc", "classes", "violations");
-    assertThat(parseInt(fileMeasures.get("ncloc").getValue())).isEqualTo(7);
-    assertThat(parseInt(fileMeasures.get("violations").getValue())).isGreaterThan(0);
-  }
-
-  /**
-   * Only tests, no sources
-   */
-  @Test
-  public void scan_java_tests() {
-    orchestrator.getServer().restoreProfile(ResourceLocation.create("/sonar-way-profile.xml"));
-    orchestrator.getServer().provisionProject("java:sampletest", "Java Sample");
-    orchestrator.getServer().associateProjectToQualityProfile("java:sampletest", "java", "sonar-way");
-
-    SonarScanner build = newScanner(new File("projects/java-sample"))
-      .setProperty("sonar.projectKey", "java:sampletest")
-      .setProperty("sonar.tests", "src")
-      .setProperty("sonar.sources", "");
-    orchestrator.executeBuild(build);
-
-    Component file = getComponent("java:sampletest:src/basic/Hello.java");
-    assertThat(file.getName()).isEqualTo("Hello.java");
-    assertThat(file.getQualifier()).isEqualTo("UTS");
-  }
-
-  @Test
-  public void scan_java_sources_and_bytecode() {
-    orchestrator.getServer().restoreProfile(ResourceLocation.create("/requires-bytecode-profile.xml"));
-    orchestrator.getServer().provisionProject("java:bytecode", "Java Bytecode Sample");
-    orchestrator.getServer().associateProjectToQualityProfile("java:bytecode", "java", "requires-bytecode");
-
-    SonarScanner build = newScanner(new File("projects/java-bytecode"));
-    orchestrator.executeBuild(build);
-
-    Component project = getComponent("java:bytecode");
-    assertThat(project.getName()).isEqualTo("Java Bytecode Sample");
-
-    Map<String, Measure> projectMeasures = getMeasures("java:bytecode", "violations");
-    // the squid rules enabled in sonar-way-profile do not exist in SQ 3.0
-    assertThat(parseInt(projectMeasures.get("violations").getValue())).isGreaterThan(0);
-
-    assertThat(getMeasureAsInteger("java:bytecode:src/HasFindbugsViolation.java", "violations")).isGreaterThan(0);
-
-    // findbugs is executed on bytecode
-    List<Issue> issues = orchestrator.getServer().wsClient().issueClient().find(IssueQuery.create().componentRoots("java:bytecode").rules("squid:S1147")).list();
-    assertThat(issues).hasSize(1);
-    assertThat(issues.get(0).ruleKey()).isEqualTo("squid:S1147");
-
-    // Squid performs analysis of dependencies
-    issues = orchestrator.getServer().wsClient().issueClient().find(IssueQuery.create().componentRoots("java:bytecode").rules("squid:CallToDeprecatedMethod")).list();
-    assertThat(issues).hasSize(1);
-    assertThat(issues.get(0).ruleKey()).isEqualTo("squid:CallToDeprecatedMethod");
-  }
-
-  @Test
-  public void basedir_contains_java_sources() {
-    orchestrator.getServer().restoreProfile(ResourceLocation.create("/sonar-way-profile.xml"));
-    orchestrator.getServer().provisionProject("java:basedir-with-source", "Basedir with source");
-    orchestrator.getServer().associateProjectToQualityProfile("java:basedir-with-source", "java", "sonar-way");
-
-    SonarScanner build = newScanner(new File("projects/basedir-with-source"));
-    orchestrator.executeBuild(build);
-
-    Map<String, Measure> projectMeasures = getMeasures("java:basedir-with-source", "files", "ncloc");
-    assertThat(parseInt(projectMeasures.get("files").getValue())).isEqualTo(1);
-    assertThat(parseInt(projectMeasures.get("ncloc").getValue())).isGreaterThan(1);
-  }
-
-  /**
-   * Replace the maven format groupId:artifactId by a single key
-   */
-  @Test
-  public void should_support_simple_project_keys() {
-    orchestrator.getServer().restoreProfile(ResourceLocation.create("/sonar-way-profile.xml"));
-    orchestrator.getServer().provisionProject("SAMPLE", "Java Sample, with comma");
-    orchestrator.getServer().associateProjectToQualityProfile("SAMPLE", "java", "sonar-way");
-
-    SonarScanner build = newScanner(new File("projects/java-sample"))
-      .setProjectKey("SAMPLE");
-    orchestrator.executeBuild(build);
-
-    Map<String, Measure> projectMeasures = getMeasures("SAMPLE", "files", "ncloc");
-    assertThat(parseInt(projectMeasures.get("files").getValue())).isEqualTo(2);
-    assertThat(parseInt(projectMeasures.get("ncloc").getValue())).isGreaterThan(1);
-  }
-
-  /**
-   * SONARPLUGINS-1230
-   */
-  @Test
-  public void should_override_working_dir_with_relative_path() {
-    SonarScanner build = newScanner(new File("projects/override-working-dir"))
-      .setProperty("sonar.working.directory", ".overridden-relative-sonar");
-    orchestrator.executeBuild(build);
-
-    assertThat(new File("projects/override-working-dir/.sonar")).doesNotExist();
-    assertThat(new File("projects/override-working-dir/.overridden-relative-sonar")).exists().isDirectory();
-  }
-
-  /**
-   * SONARPLUGINS-1230
-   */
-  @Test
-  public void should_override_working_dir_with_absolute_path() {
-    File projectHome = new File("projects/override-working-dir");
-    SonarScanner build = newScanner(projectHome)
-      .setProperty("sonar.working.directory", new File(projectHome, ".overridden-absolute-sonar").getAbsolutePath());
-    orchestrator.executeBuild(build);
-
-    assertThat(new File("projects/override-working-dir/.sonar")).doesNotExist();
-    assertThat(new File("projects/override-working-dir/.overridden-absolute-sonar")).exists().isDirectory();
-  }
-
-  /**
-   * SONARPLUGINS-1856
-   */
-  @Test
-  public void should_fail_if_source_dir_does_not_exist() {
-    SonarScanner build = newScanner(new File("projects/bad-source-dirs"));
-
-    BuildResult result = orchestrator.executeBuildQuietly(build);
-    assertThat(result.getStatus()).isNotEqualTo(0);
-    // with the following message
-    assertThat(result.getLogs()).contains("Invalid value of sonar.sources for bad-source-dirs");
-  }
-
-  /**
-   * SONARPLUGINS-2256
-   */
-  @Test
-  public void should_warn_when_analysis_is_platform_dependent() {
-    SonarScanner build = newScanner(new File("projects/java-sample"))
-      // ORCH-243
-      .setSourceEncoding("");
-    String log = orchestrator.executeBuild(build).getLogs();
-
-    // Note: we can't really check the locale value and the charset because the ones used during the Sonar analysis may not be the ones
-    // used to launch the tests. But we can check that the analysis is platform dependent (i.e. "sonar.sourceEncoding" hasn't been set).
-    assertThat(log).contains("Default locale:");
-    assertThat(log).contains(", source code encoding:");
-    assertThat(log).contains("(analysis is platform dependent)");
-  }
-
-  /**
-   * SONARUNNER-153
-   */
-  @Test
-  public void should_enable_verbose() {
-    // this line should appear in all versions (LTS-DEV) in debug only
-    String expectedLog = "Available languages:";
-    SonarScanner build = newScanner(new File("projects/java-sample"))
-      .setProperty("sonar.verbose", "true");
-    String logs = orchestrator.executeBuild(build).getLogs();
-    assertThat(logs).contains(expectedLog);
-  }
-
-  @Test
-  public void should_use_environment_props() {
-    SonarScanner build = newScanner(new File("projects/java-sample-no-properties"))
-      .setEnvironmentVariable("SONARQUBE_SCANNER_PARAMS", "{"
-        + "\"sonar.projectKey\" : \"java:sample\"," +
-        "\"sonar.projectName\" : \"Java Sample, with comma\"," +
-        "\"sonar.projectDescription\" : \"This is a Java sample\"," +
-        "\"sonar.projectVersion\" : \"1.2.3\"," +
-        "\"sonar.sources\" : \"src\" }");
-    orchestrator.executeBuild(build);
-  }
-
-  @Test
-  public void should_skip_analysis() {
-    SonarScanner build = newScanner(new File("projects/java-sample"))
-      .setProperty("sonar.host.url", "http://foo")
-      .setEnvironmentVariable("SONARQUBE_SCANNER_PARAMS", "{ \"sonar.scanner.skip\":\"true\" }");
-
-    BuildResult result = orchestrator.executeBuild(build);
-    assertThat(result.getLogs()).contains("SonarQube Scanner analysis skipped");
-  }
-
-  @Test
-  public void should_fail_if_unable_to_connect() {
-    SonarScanner build = newScanner(new File("projects/java-sample"))
-      .setProperty("sonar.host.url", "http://foo");
-
-    BuildResult result = orchestrator.executeBuildQuietly(build);
-    // expect build failure
-    assertThat(result.getStatus()).isNotEqualTo(0);
-    // with the following message
-    assertThat(result.getLogs()).contains("SonarQube server [http://foo] can not be reached");
-  }
-
-  // SONARPLUGINS-3574
-  @Test
-  public void run_from_external_location() throws IOException {
-    File tempDir = temp.newFolder();
-    SonarScanner build = newScanner(tempDir)
-      .setProperty("sonar.projectBaseDir", new File("projects/java-sample").getAbsolutePath())
-      .addArguments("-e");
-    orchestrator.executeBuild(build);
-
-    assertThat(getComponent("java:sample").getDescription()).isEqualTo("This is a Java sample");
-    Map<String, Measure> projectMeasures = getMeasures("java:sample", "files", "ncloc", "classes", "violations");
-    assertThat(projectMeasures.values().stream().filter(measure -> measure.getValue() != null).collect(Collectors.toList())).hasSize(4);
-  }
-
-  @Test
-  public void verify_env_variable() {
-    SonarScanner build = newScanner(new File("projects/java-sample"))
-      .setEnvironmentVariable("SONAR_SCANNER_OPTS", "-Xmx2m");
-    BuildResult executeBuild = orchestrator.executeBuildQuietly(build);
-    assertThat(executeBuild.getStatus()).isNotEqualTo(0);
-    String logs = executeBuild.getLogs();
-    assertThat(logs).satisfies(new Condition<String>("Contain error message about OOM") {
-      @Override
-      public boolean matches(String value) {
-        return value.contains("java.lang.OutOfMemoryError") 
-          || value.contains("GC overhead limit exceeded") || value.contains("Java heap space");
-      }
-    });
-  }
-
-}
index ea988a4aa73abaa3bf759adfd00b238350ed7959..b2b02e11605d98c7f7c86dbb5121b13869e96a70 100644 (file)
@@ -60,23 +60,6 @@ public class MultimoduleTest extends ScannerTestCase {
     assertThat(new File("projects/multi-module/simplest/simplest-with-props-on-root/module2/.scannerwork")).doesNotExist();
   }
 
-  /**
-   * SONARPLUGINS-2421
-   */
-  @Test
-  public void test_multi_language_with_same_projectdir() {
-    SonarScanner build = newScanner(new File("projects/multi-module/multi-language"));
-
-    orchestrator.executeBuild(build);
-
-    assertThat(getComponent("multi-language").getName()).isEqualTo("Simplest multi-language project");
-
-    // Verify that we have the modules
-    assertThat(getComponent("multi-language:java-module").getName()).isEqualTo("java-module");
-
-    assertThat(getComponent("multi-language:js-module").getName()).isEqualTo("js-module");
-  }
-
   /**
    * SONARPLUGINS-2202
    */
diff --git a/it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java b/it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java
new file mode 100644 (file)
index 0000000..b4c1273
--- /dev/null
@@ -0,0 +1,206 @@
+/*
+ * SonarSource :: IT :: SonarQube Scanner
+ * Copyright (C) 2009-2018 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package com.sonarsource.scanner.it;
+
+import com.sonar.orchestrator.build.BuildResult;
+import com.sonar.orchestrator.build.SonarScanner;
+import java.io.File;
+import java.io.IOException;
+import java.util.Map;
+import java.util.stream.Collectors;
+import org.fest.assertions.Condition;
+import org.junit.After;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+import org.sonarqube.ws.WsMeasures.Measure;
+
+import static java.lang.Integer.parseInt;
+import static org.fest.assertions.Assertions.assertThat;
+
+public class ScannerTest extends ScannerTestCase {
+
+  @Rule
+  public TemporaryFolder temp = new TemporaryFolder();
+
+  @After
+  public void cleanup() {
+    orchestrator.resetData();
+  }
+
+  @Test
+  public void basedir_contains_sources() {
+    SonarScanner build = newScanner(new File("projects/basedir-with-source"));
+    orchestrator.executeBuild(build);
+
+    Map<String, Measure> projectMeasures = getMeasures("java:basedir-with-source", "files", "ncloc");
+    assertThat(parseInt(projectMeasures.get("files").getValue())).isEqualTo(1);
+    assertThat(parseInt(projectMeasures.get("ncloc").getValue())).isGreaterThan(1);
+  }
+
+  /**
+   * Replace the maven format groupId:artifactId by a single key
+   */
+  @Test
+  public void should_support_simple_project_keys() {
+    SonarScanner build = newScanner(new File("projects/simple-sample"))
+      .setProjectKey("SAMPLE");
+    orchestrator.executeBuild(build);
+
+    Map<String, Measure> projectMeasures = getMeasures("SAMPLE", "files", "ncloc");
+    assertThat(parseInt(projectMeasures.get("files").getValue())).isEqualTo(2);
+    assertThat(parseInt(projectMeasures.get("ncloc").getValue())).isGreaterThan(1);
+  }
+
+  /**
+   * SONARPLUGINS-1230
+   */
+  @Test
+  public void should_override_working_dir_with_relative_path() {
+    SonarScanner build = newScanner(new File("projects/override-working-dir"))
+      .setProperty("sonar.working.directory", ".overridden-relative-sonar");
+    orchestrator.executeBuild(build);
+
+    assertThat(new File("projects/override-working-dir/.sonar")).doesNotExist();
+    assertThat(new File("projects/override-working-dir/.overridden-relative-sonar")).exists().isDirectory();
+  }
+
+  /**
+   * SONARPLUGINS-1230
+   */
+  @Test
+  public void should_override_working_dir_with_absolute_path() {
+    File projectHome = new File("projects/override-working-dir");
+    SonarScanner build = newScanner(projectHome)
+      .setProperty("sonar.working.directory", new File(projectHome, ".overridden-absolute-sonar").getAbsolutePath());
+    orchestrator.executeBuild(build);
+
+    assertThat(new File("projects/override-working-dir/.sonar")).doesNotExist();
+    assertThat(new File("projects/override-working-dir/.overridden-absolute-sonar")).exists().isDirectory();
+  }
+
+  /**
+   * SONARPLUGINS-1856
+   */
+  @Test
+  public void should_fail_if_source_dir_does_not_exist() {
+    SonarScanner build = newScanner(new File("projects/bad-source-dirs"));
+
+    BuildResult result = orchestrator.executeBuildQuietly(build);
+    assertThat(result.getStatus()).isNotEqualTo(0);
+    // with the following message
+    assertThat(result.getLogs()).contains("Invalid value of sonar.sources for bad-source-dirs");
+  }
+
+  /**
+   * SONARPLUGINS-2256
+   */
+  @Test
+  public void should_warn_when_analysis_is_platform_dependent() {
+    SonarScanner build = newScanner(new File("projects/simple-sample"))
+      // ORCH-243
+      .setSourceEncoding("");
+    String log = orchestrator.executeBuild(build).getLogs();
+
+    // Note: we can't really check the locale value and the charset because the ones used during the Sonar analysis may not be the ones
+    // used to launch the tests. But we can check that the analysis is platform dependent (i.e. "sonar.sourceEncoding" hasn't been set).
+    assertThat(log).contains("Default locale:");
+    assertThat(log).contains(", source code encoding:");
+    assertThat(log).contains("(analysis is platform dependent)");
+  }
+
+  /**
+   * SONARUNNER-153
+   */
+  @Test
+  public void should_enable_verbose() {
+    // this line should appear in all versions (LTS-DEV) in debug only
+    String expectedLog = "Available languages:";
+    SonarScanner build = newScanner(new File("projects/simple-sample"))
+      .setProperty("sonar.verbose", "true");
+    String logs = orchestrator.executeBuild(build).getLogs();
+    assertThat(logs).contains(expectedLog);
+  }
+
+  @Test
+  public void should_use_environment_props() {
+    SonarScanner build = newScanner(new File("projects/simple-sample-no-properties"))
+      .setEnvironmentVariable("SONARQUBE_SCANNER_PARAMS", "{"
+        + "\"sonar.projectKey\" : \"sample\"," +
+        "\"sonar.projectName\" : \"Sample, with comma\"," +
+        "\"sonar.projectDescription\" : \"This is a sample\"," +
+        "\"sonar.projectVersion\" : \"1.2.3\"," +
+        "\"sonar.sources\" : \"src\" }");
+    orchestrator.executeBuild(build);
+  }
+
+  @Test
+  public void should_skip_analysis() {
+    SonarScanner build = newScanner(new File("projects/simple-sample"))
+      .setProperty("sonar.host.url", "http://foo")
+      .setEnvironmentVariable("SONARQUBE_SCANNER_PARAMS", "{ \"sonar.scanner.skip\":\"true\" }");
+
+    BuildResult result = orchestrator.executeBuild(build);
+    assertThat(result.getLogs()).contains("SonarQube Scanner analysis skipped");
+  }
+
+  @Test
+  public void should_fail_if_unable_to_connect() {
+    SonarScanner build = newScanner(new File("projects/simple-sample"))
+      .setProperty("sonar.host.url", "http://foo");
+
+    BuildResult result = orchestrator.executeBuildQuietly(build);
+    // expect build failure
+    assertThat(result.getStatus()).isNotEqualTo(0);
+    // with the following message
+    assertThat(result.getLogs()).contains("SonarQube server [http://foo] can not be reached");
+  }
+
+  // SONARPLUGINS-3574
+  @Test
+  public void run_from_external_location() throws IOException {
+    File tempDir = temp.newFolder();
+    SonarScanner build = newScanner(tempDir)
+      .setProperty("sonar.projectBaseDir", new File("projects/simple-sample").getAbsolutePath())
+      .addArguments("-e");
+    orchestrator.executeBuild(build);
+
+    assertThat(getComponent("sample").getDescription()).isEqualTo("This is a sample");
+    Map<String, Measure> projectMeasures = getMeasures("sample", "files", "ncloc", "classes", "violations");
+    assertThat(projectMeasures.values().stream().filter(measure -> measure.getValue() != null).collect(Collectors.toList())).hasSize(4);
+  }
+
+  @Test
+  public void verify_env_variable() {
+    SonarScanner build = newScanner(new File("projects/simple-sample"))
+      .setEnvironmentVariable("SONAR_SCANNER_OPTS", "-Xmx2m");
+    BuildResult executeBuild = orchestrator.executeBuildQuietly(build);
+    assertThat(executeBuild.getStatus()).isNotEqualTo(0);
+    String logs = executeBuild.getLogs();
+    assertThat(logs).satisfies(new Condition<String>("Contain error message about OOM") {
+      @Override
+      public boolean matches(String value) {
+        return value.contains("java.lang.OutOfMemoryError")
+          || value.contains("GC overhead limit exceeded") || value.contains("Java heap space");
+      }
+    });
+  }
+
+}
index a1004937cc46970a72f89bf655d13445c9a24437..cc4a16e0f77282efbc1ab1ba2a85368c0c403b17 100644 (file)
@@ -26,13 +26,11 @@ import org.junit.runners.Suite;
 import org.junit.runners.Suite.SuiteClasses;
 
 @RunWith(Suite.class)
-@SuiteClasses({JavaTest.class, MultimoduleTest.class, DistributionTest.class})
+@SuiteClasses({ScannerTest.class, MultimoduleTest.class, DistributionTest.class})
 public class SonarScannerTestSuite {
 
   @ClassRule
   public static final Orchestrator ORCHESTRATOR = Orchestrator.builderEnv()
-    .setOrchestratorProperty("javaVersion", "4.11")
-    .addPlugin("java")
     .setOrchestratorProperty("javascriptVersion", "LATEST_RELEASE")
     .addPlugin("javascript")
     .build();
diff --git a/it/src/test/resources/requires-bytecode-profile.xml b/it/src/test/resources/requires-bytecode-profile.xml
deleted file mode 100644 (file)
index 0e91e52..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- Generated by Sonar -->
-<profile>
-  <name>requires-bytecode</name>
-  <language>java</language>
-  <rules>
-    <rule>
-      <repositoryKey>squid</repositoryKey>
-      <key>CallToDeprecatedMethod</key>
-      <priority>MINOR</priority>
-    </rule>
-    <rule>
-      <repositoryKey>squid</repositoryKey>
-      <key>S1147</key>
-      <priority>MAJOR</priority>
-    </rule>
-  </rules>
-</profile>
\ No newline at end of file
diff --git a/it/src/test/resources/sonar-way-profile.xml b/it/src/test/resources/sonar-way-profile.xml
deleted file mode 100644 (file)
index a5b203d..0000000
+++ /dev/null
@@ -1,691 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- Generated by SonarQube -->
-<profile>
-    <name>sonar-way</name>
-    <language>java</language>
-    <rules>
-        <rule>
-            <repositoryKey>common-java</repositoryKey>
-            <key>DuplicatedBlocks</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>common-java</repositoryKey>
-            <key>InsufficientBranchCoverage</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>minimumBranchCoverageRatio</key>
-                    <value>65.0</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00105</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>MethodCyclomaticComplexity</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>max</key>
-                    <value>10</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>ClassCyclomaticComplexity</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>max</key>
-                    <value>200</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>CommentedOutCodeLine</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00108</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00107</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>maximumMethodParameters</key>
-                    <value>7</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00112</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00100</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>format</key>
-                    <value>^[a-z][a-zA-Z0-9]*$</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00101</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>format</key>
-                    <value>^[A-Z][a-zA-Z0-9]*$</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00114</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>format</key>
-                    <value>^[A-Z][a-zA-Z0-9]*$</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00115</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>format</key>
-                    <value>^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00116</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>format</key>
-                    <value>^[a-z][a-zA-Z0-9]*$</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00117</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>format</key>
-                    <value>^[a-z][a-zA-Z0-9]*$</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00119</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>format</key>
-                    <value>^[A-Z]$</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00120</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>format</key>
-                    <value>^[a-z]+(\.[a-z][a-z0-9]*)*$</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00121</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S00122</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>RightCurlyBraceSameLineAsNextBlockCheck</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>RightCurlyBraceStartLineCheck</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>LeftCurlyBraceEndLineCheck</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>UselessParenthesesCheck</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>ObjectFinalizeCheck</key>
-            <priority>CRITICAL</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>ObjectFinalizeOverridenCheck</key>
-            <priority>CRITICAL</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>ObjectFinalizeOverridenCallsSuperFinalizeCheck</key>
-            <priority>BLOCKER</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>ClassVariableVisibilityCheck</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>ForLoopCounterChangedCheck</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>LabelsShouldNotBeUsedCheck</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>SwitchLastCaseIsDefaultCheck</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>EmptyStatementUsageCheck</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>ModifiersOrderCheck</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>AssignmentInSubExpressionCheck</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>StringEqualityComparisonCheck</key>
-            <priority>CRITICAL</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>TrailingCommentCheck</key>
-            <priority>MINOR</priority>
-            <parameters>
-                <parameter>
-                    <key>legalCommentPattern</key>
-                    <value>^\s*+[^\s]++$</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>UselessImportCheck</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>LowerCaseLongSuffixCheck</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>MissingDeprecatedCheck</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>HiddenFieldCheck</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1133</key>
-            <priority>INFO</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1134</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1135</key>
-            <priority>INFO</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1118</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1132</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1126</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1125</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1067</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>max</key>
-                    <value>3</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1141</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1147</key>
-            <priority>CRITICAL</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1143</key>
-            <priority>BLOCKER</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1145</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1157</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1155</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1149</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1171</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1168</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1170</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1163</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S106</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1165</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1066</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S134</key>
-            <priority>MINOR</priority>
-            <parameters>
-                <parameter>
-                    <key>max</key>
-                    <value>3</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1181</key>
-            <priority>BLOCKER</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1150</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1182</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1151</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>max</key>
-                    <value>5</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S128</key>
-            <priority>CRITICAL</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1166</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1190</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1188</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>max</key>
-                    <value>20</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1191</key>
-            <priority>MAJOR</priority>
-            <parameters></parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S135</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1186</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1185</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1174</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1175</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1153</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1148</key>
-            <priority>CRITICAL</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1195</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1194</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1193</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1192</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1158</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1215</key>
-            <priority>CRITICAL</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1197</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1220</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1221</key>
-            <priority>CRITICAL</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1199</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1214</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1201</key>
-            <priority>CRITICAL</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1210</key>
-            <priority>CRITICAL</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1206</key>
-            <priority>BLOCKER</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1219</key>
-            <priority>CRITICAL</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1301</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1314</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1226</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1313</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1312</key>
-            <priority>MAJOR</priority>
-            <parameters>
-                <parameter>
-                    <key>format</key>
-                    <value>LOG(?:GER)?</value>
-                </parameter>
-            </parameters>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1318</key>
-            <priority>CRITICAL</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1223</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1319</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1231</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1444</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1452</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1481</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1068</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1317</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1596</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>UnusedPrivateMethod</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>RedundantThrowsDeclarationCheck</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1160</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1217</key>
-            <priority>CRITICAL</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1488</key>
-            <priority>MINOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1602</key>
-            <priority>MAJOR</priority>
-        </rule>
-        <rule>
-            <repositoryKey>squid</repositoryKey>
-            <key>S1611</key>
-            <priority>MINOR</priority>
-        </rule>
-    </rules>
-</profile>
\ No newline at end of file