Skip to content

Commit 1f5b248

Browse files
Godinerwan-serandour
authored andcommitted
Use "sonar.scanner.skipJreProvisioning" in integration tests
On ephemeral CI machine this avoids unnecessary downloading and unpacking of JRE from SQ and thus reduces time of execution of the first project analysis in integration tests. During execution of integration tests we already have suitable JDK. Testing of JRE provisioning feature should not be the responsibility of analyzers.
1 parent 2a65372 commit 1f5b248

16 files changed

Lines changed: 59 additions & 33 deletions

File tree

its/autoscan/src/test/java/org/sonar/java/it/AutoScanTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ public void javaCheckTestSources() throws Exception {
9393
String correctConfigIssues = absolutePathFor(TARGET_ACTUAL + PROJECT_KEY + "-mvn");
9494

9595
MavenBuild mavenBuild = MavenBuild.create()
96+
.setProperty("sonar.scanner.skipJreProvisioning", "true")
9697
.setPom(FileLocation.of(PROJECT_LOCATION + "pom.xml").getFile().getCanonicalFile())
9798
.addSonarGoal()
9899
.addArgument("-DskipTests")
@@ -115,6 +116,7 @@ public void javaCheckTestSources() throws Exception {
115116
* 2. Execute the analysis as sonar-scanner project, without any bytecode nor dependencies/libraries
116117
*/
117118
SonarScanner sonarScannerBuild = SonarScanner.create(FileLocation.of(PROJECT_LOCATION).getFile())
119+
.setProperty("sonar.scanner.skipJreProvisioning", "true")
118120
.setProjectKey(PROJECT_KEY)
119121
.setProjectName(PROJECT_NAME)
120122
.setProjectVersion("0.1.0-SNAPSHOT")

its/plugin/tests/src/test/java/com/sonar/it/java/JspTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public void should_transpile_jsp() throws Exception {
6666
return;
6767
}
6868

69-
MavenBuild build = MavenBuild.create(TestUtils.projectPom(PROJECT))
69+
MavenBuild build = TestUtils.createMavenBuild().setPom(TestUtils.projectPom(PROJECT))
7070
.setCleanPackageSonarGoals()
7171
.setDebugLogs(true)
7272
.setProperty("sonar.scm.disabled", "true");

its/plugin/tests/src/test/java/com/sonar/it/java/suite/CacheEnabledTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public class CacheEnabledTest {
3131

3232
@Test
3333
public void test_cache_is_enabled() {
34-
SonarScanner build = SonarScanner.create(TestUtils.projectDir("java-tutorial"))
34+
SonarScanner build = TestUtils.createSonarScanner()
35+
.setProjectDir(TestUtils.projectDir("java-tutorial"))
3536
.setProperty("sonar.projectKey", "org.sonarsource.it.projects:java-tutorial")
3637
.setProperty("sonar.projectName", "java-tutorial")
3738
.setProperty("sonar.sources", "src/main/java")
@@ -46,7 +47,8 @@ public void test_cache_is_enabled() {
4647

4748
@Test
4849
public void test_cache_is_disabled() {
49-
SonarScanner build = SonarScanner.create(TestUtils.projectDir("java-tutorial"))
50+
SonarScanner build = TestUtils.createSonarScanner()
51+
.setProjectDir(TestUtils.projectDir("java-tutorial"))
5052
.setProperty("sonar.projectKey", "org.sonarsource.it.projects:java-tutorial")
5153
.setProperty("sonar.projectName", "java-tutorial")
5254
.setProperty("sonar.sources", "src/main/java")

its/plugin/tests/src/test/java/com/sonar/it/java/suite/DuplicationTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ public class DuplicationTest {
3434

3535
@Test
3636
public void duplication_should_be_computed_by_SQ() {
37-
MavenBuild build = MavenBuild.create(TestUtils.projectPom("test-duplications")).setCleanPackageSonarGoals();
37+
MavenBuild build = TestUtils.createMavenBuild()
38+
.setPom(TestUtils.projectPom("test-duplications")).setCleanPackageSonarGoals();
3839

3940
orchestrator.executeBuild(build);
4041

its/plugin/tests/src/test/java/com/sonar/it/java/suite/ExternalReportTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public class ExternalReportTest {
3535

3636
@Test
3737
public void checkstyle() {
38-
MavenBuild build = MavenBuild.create(TestUtils.projectPom("checkstyle-external-report"))
38+
MavenBuild build = TestUtils.createMavenBuild().setPom(TestUtils.projectPom("checkstyle-external-report"))
3939
.setProperty("sonar.java.checkstyle.reportPaths", "target" + File.separator + "checkstyle-result.xml")
4040
.setGoals("org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0:checkstyle", "sonar:sonar");
4141
orchestrator.executeBuild(build);
@@ -53,7 +53,7 @@ public void checkstyle() {
5353

5454
@Test
5555
public void pmd() {
56-
MavenBuild build = MavenBuild.create(TestUtils.projectPom("pmd-external-report"))
56+
MavenBuild build = TestUtils.createMavenBuild().setPom(TestUtils.projectPom("pmd-external-report"))
5757
.setProperty("sonar.java.pmd.reportPaths", "target" + File.separator + "pmd.xml")
5858
.setGoals("org.apache.maven.plugins:maven-pmd-plugin:3.10.0:pmd", "sonar:sonar");
5959
orchestrator.executeBuild(build);
@@ -72,7 +72,7 @@ public void pmd() {
7272

7373
@Test
7474
public void spotbugs() {
75-
MavenBuild build = MavenBuild.create(TestUtils.projectPom("spotbugs-external-report"))
75+
MavenBuild build = TestUtils.createMavenBuild().setPom(TestUtils.projectPom("spotbugs-external-report"))
7676
.setProperty("sonar.java.spotbugs.reportPaths", "target" + File.separator + "spotbugsXml.xml")
7777
.setGoals("clean package com.github.spotbugs:spotbugs-maven-plugin:4.5.3.0:spotbugs", "sonar:sonar");
7878
orchestrator.executeBuild(build);

its/plugin/tests/src/test/java/com/sonar/it/java/suite/JavaClasspathTest.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,8 @@ public void analyze_java8_project_using_a_modular_runtime_and_dedicated_jdkHome_
200200
private static void testJdk8ProjectWithModularJdk(boolean useJdkHomeProperty) {
201201
String projectKey = "use-jdk8-only-api-" + (useJdkHomeProperty ? "with" : "without") + "-jdkHome-property";
202202

203-
SonarScanner scanner = SonarScanner.create(TestUtils.projectDir("use-jdk8-only-api"))
203+
SonarScanner scanner = TestUtils.createSonarScanner()
204+
.setProjectDir(TestUtils.projectDir("use-jdk8-only-api"))
204205
.setProperty("sonar.projectKey", projectKey)
205206
.setProperty("sonar.projectName", projectKey)
206207
.setProperty("sonar.projectVersion", "1.0-SNAPSHOT")
@@ -269,23 +270,25 @@ private static void buildDitProject() {
269270
}
270271

271272
private static void mavenOnDitProject(String goal) {
272-
MavenBuild build = MavenBuild.create(TestUtils.projectPom("dit-check"))
273+
MavenBuild build = TestUtils.createMavenBuild().setPom(TestUtils.projectPom("dit-check"))
273274
.setGoals(goal)
274275
.setProperty("sonar.dynamicAnalysis", "false");
275276

276277
ORCHESTRATOR.executeBuild(build);
277278
}
278279

279280
private static SonarScanner aarProjectSonarScanner() {
280-
return SonarScanner.create(TestUtils.projectDir("using-aar-dep"))
281+
return TestUtils.createSonarScanner()
282+
.setProjectDir(TestUtils.projectDir("using-aar-dep"))
281283
.setProperty("sonar.projectKey", PROJECT_KEY_AAR)
282284
.setProperty("sonar.projectName", "using-aar-dep")
283285
.setProperty("sonar.projectVersion", "1.0-SNAPSHOT")
284286
.setProperty("sonar.sources", "src/main/java");
285287
}
286288

287289
private static SonarScanner ditProjectSonarScanner() {
288-
return SonarScanner.create(TestUtils.projectDir("dit-check"))
290+
return TestUtils.createSonarScanner()
291+
.setProjectDir(TestUtils.projectDir("dit-check"))
289292
.setProperty("sonar.projectKey", PROJECT_KEY_DIT)
290293
.setProperty("sonar.projectName", "dit-check")
291294
.setProperty("sonar.projectVersion", "1.0-SNAPSHOT")

its/plugin/tests/src/test/java/com/sonar/it/java/suite/JavaComplexityTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public class JavaComplexityTest {
3838

3939
@BeforeClass
4040
public static void analyzeProject() {
41-
MavenBuild build = MavenBuild.create(TestUtils.projectPom("java-complexity"))
41+
MavenBuild build = TestUtils.createMavenBuild().setPom(TestUtils.projectPom("java-complexity"))
4242
.setCleanSonarGoals()
4343
.setProperty("sonar.dynamicAnalysis", "false")
4444
.setProperty("sonar.java.binaries", "target");

its/plugin/tests/src/test/java/com/sonar/it/java/suite/JavaExtensionsTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class JavaExtensionsTest {
3232

3333
@Test
3434
public void test() {
35-
MavenBuild build = MavenBuild.create(TestUtils.projectPom("java-extension"))
35+
MavenBuild build = TestUtils.createMavenBuild().setPom(TestUtils.projectPom("java-extension"))
3636
.setCleanSonarGoals();
3737
TestUtils.provisionProject(orchestrator, "org.sonarsource.it.projects:java-extension","java-extension","java","java-extension");
3838
orchestrator.executeBuild(build);

its/plugin/tests/src/test/java/com/sonar/it/java/suite/JavaTest.java

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public class JavaTest {
4747
*/
4848
@Test
4949
public void shouldAcceptFilenamesWithDollar() {
50-
MavenBuild build = MavenBuild.create(TestUtils.projectPom("dollar-in-names"))
50+
MavenBuild build = TestUtils.createMavenBuild().setPom(TestUtils.projectPom("dollar-in-names"))
5151
.setCleanPackageSonarGoals()
5252
.setProperty("sonar.dynamicAnalysis", "false");
5353
orchestrator.executeBuild(build);
@@ -62,7 +62,7 @@ public void shouldAcceptFilenamesWithDollar() {
6262
*/
6363
@Test
6464
public void shouldFailIfInvalidJavaPackage() {
65-
MavenBuild build = MavenBuild.create()
65+
MavenBuild build = TestUtils.createMavenBuild()
6666
.setPom(TestUtils.projectPom("invalid-java-package"))
6767
.setCleanSonarGoals();
6868

@@ -72,7 +72,7 @@ public void shouldFailIfInvalidJavaPackage() {
7272

7373
@Test
7474
public void measures_on_directory() {
75-
MavenBuild build = MavenBuild.create()
75+
MavenBuild build = TestUtils.createMavenBuild()
7676
.setPom(TestUtils.projectPom("measures-on-directory"))
7777
.setCleanPackageSonarGoals();
7878
BuildResult result = orchestrator.executeBuildQuietly(build);
@@ -82,12 +82,12 @@ public void measures_on_directory() {
8282

8383
@Test
8484
public void multiple_package_in_directory_should_not_fail() {
85-
MavenBuild inspection = MavenBuild.create()
85+
MavenBuild inspection = TestUtils.createMavenBuild()
8686
.setPom(TestUtils.projectPom("multiple-packages-in-directory"))
8787
.setCleanPackageSonarGoals();
8888
BuildResult result = orchestrator.executeBuildQuietly(inspection);
8989
assertThat(result.getLastStatus()).isZero();
90-
inspection = MavenBuild.create()
90+
inspection = TestUtils.createMavenBuild()
9191
.setPom(TestUtils.projectPom("multiple-packages-in-directory"))
9292
.setProperty("sonar.skipPackageDesign", "true")
9393
.setGoals("sonar:sonar");
@@ -100,7 +100,8 @@ public void multiple_package_in_directory_should_not_fail() {
100100
*/
101101
@Test
102102
public void filtered_issues() {
103-
MavenBuild build = MavenBuild.create(TestUtils.projectPom("filtered-issues"))
103+
MavenBuild build = TestUtils.createMavenBuild()
104+
.setPom(TestUtils.projectPom("filtered-issues"))
104105
.setCleanPackageSonarGoals();
105106

106107
TestUtils.provisionProject(orchestrator, "org.example:example", "filtered-issues", "java", "filtered-issues");
@@ -122,7 +123,8 @@ public void filtered_issues() {
122123
*/
123124
@Test
124125
public void support_jav_file_extension() {
125-
SonarScanner scan = SonarScanner.create(TestUtils.projectDir("jav-file-extension"))
126+
SonarScanner scan = TestUtils.createSonarScanner()
127+
.setProjectDir(TestUtils.projectDir("jav-file-extension"))
126128
.setProperty("sonar.projectKey", "jav-file-extension")
127129
.setProperty("sonar.projectName", "jav-file-extension")
128130
.setProperty("sonar.projectVersion", "1.0-SNAPSHOT")
@@ -135,7 +137,8 @@ public void support_jav_file_extension() {
135137

136138
@Test
137139
public void support_change_of_extension_property() {
138-
SonarScanner scan = SonarScanner.create(TestUtils.projectDir("jav-file-extension"))
140+
SonarScanner scan = TestUtils.createSonarScanner()
141+
.setProjectDir(TestUtils.projectDir("jav-file-extension"))
139142
.setProperty("sonar.projectKey", "jav-file-extension")
140143
.setProperty("sonar.projectName", "jav-file-extension")
141144
.setProperty("sonar.projectVersion", "1.0-SNAPSHOT")
@@ -152,7 +155,7 @@ public void support_change_of_extension_property() {
152155
public void should_execute_rule_on_test() {
153156
MavenLocation junit411 = MavenLocation.of("junit", "junit", "4.11");
154157
orchestrator.getConfiguration().locators().copyToDirectory(junit411, tmp.getRoot());
155-
MavenBuild build = MavenBuild.create()
158+
MavenBuild build = TestUtils.createMavenBuild()
156159
.setPom(TestUtils.projectPom("java-inner-classes"))
157160
.setProperty("sonar.java.test.binaries", "target/test-classes")
158161
.setProperty("sonar.java.test.libraries", new File(tmp.getRoot(), junit411.getFilename()).getAbsolutePath())
@@ -166,7 +169,8 @@ public void should_execute_rule_on_test() {
166169
public void java_aware_visitor_rely_on_java_version() {
167170
String sonarJavaSource = "sonar.java.source";
168171

169-
MavenBuild build = MavenBuild.create(TestUtils.projectPom("java-version-aware-visitor"))
172+
MavenBuild build = TestUtils.createMavenBuild()
173+
.setPom(TestUtils.projectPom("java-version-aware-visitor"))
170174
.setCleanSonarGoals();
171175
String projectKey = "java-version-aware-visitor";
172176
build.setProperties("sonar.projectKey", projectKey);
@@ -202,7 +206,8 @@ public void java_aware_visitor_rely_on_java_version() {
202206
int numberIssuesWithJava6 = getMeasureAsInteger(projectKey, "violations");
203207
assertThat(numberIssuesWithJava6).isZero();
204208

205-
SonarScanner scan = SonarScanner.create(TestUtils.projectDir("java-version-aware-visitor"))
209+
SonarScanner scan = TestUtils.createSonarScanner()
210+
.setProjectDir(TestUtils.projectDir("java-version-aware-visitor"))
206211
.setProperty("sonar.projectKey", "org.example:example-scanner")
207212
.setProperty("sonar.projectName", "example")
208213
.setProperty("sonar.projectVersion", "1.0-SNAPSHOT")

its/plugin/tests/src/test/java/com/sonar/it/java/suite/JavaTutorialTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class JavaTutorialTest {
3333

3434
@Test
3535
public void test() {
36-
MavenBuild build = MavenBuild.create(TestUtils.projectPom("java-tutorial")).setCleanPackageSonarGoals();
36+
MavenBuild build = TestUtils.createMavenBuild().setPom(TestUtils.projectPom("java-tutorial")).setCleanPackageSonarGoals();
3737
String projectKey = "org.sonarsource.it.projects:java-tutorial";
3838
TestUtils.provisionProject(orchestrator, projectKey, "java-tutorial", "java", "java-tutorial");
3939
executeAndAssertBuild(build, projectKey);
@@ -43,7 +43,7 @@ public void test() {
4343
public void test_as_batch_mode() {
4444
String projectKey = "org.sonarsource.it.projects:java-tutorial-batch";
4545
String projectName = "java-tutorial-batch";
46-
MavenBuild build = MavenBuild.create(TestUtils.projectPom("java-tutorial"))
46+
MavenBuild build = TestUtils.createMavenBuild().setPom(TestUtils.projectPom("java-tutorial"))
4747
.setCleanPackageSonarGoals()
4848
.setProperty("sonar.projectKey", projectKey)
4949
.setProperty("sonar.projectName", projectName)

0 commit comments

Comments
 (0)