On our project we have a problem with static code analysis performed by Sonar Cloud. The analysis takes over 10 minutes to complete and it fails, but we do not know why. Here are logs from this situation:
at org.sonar.scanner.bootstrap.ScannerContainer.doAfterStart(ScannerContainer.java:414)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.bootstrap.ScannerMain.runScannerEngine(ScannerMain.java:137)
at org.sonar.scanner.bootstrap.ScannerMain.run(ScannerMain.java:52)
at org.sonar.scanner.bootstrap.ScannerMain.main(ScannerMain.java:38)
11:15:42.274 ERROR Cannot import coverage information for file 'app/src/huawei/java/com/n7mobile/playnow/Log.kt', coverage data is invalid. Error: {}
java.lang.IllegalStateException: Line 8 is out of range in the file app/src/huawei/java/com/n7mobile/playnow/Log.kt (lines: 7)
at org.sonar.api.utils.Preconditions.checkState(Preconditions.java:61)
at org.sonar.api.batch.sensor.coverage.internal.DefaultCoverage.validateLine(DefaultCoverage.java:67)
at org.sonar.api.batch.sensor.coverage.internal.DefaultCoverage.lineHits(DefaultCoverage.java:55)
at org.sonar.plugins.jacoco.ReportImporter.importCoverage(ReportImporter.java:45)
at org.sonar.plugins.jacoco.JacocoSensor.importReport(JacocoSensor.java:81)
at org.sonar.plugins.jacoco.JacocoSensor.importReports(JacocoSensor.java:64)
at org.sonar.plugins.jacoco.JacocoSensor.execute(JacocoSensor.java:55)
at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:63)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:75)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:48)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:66)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:48)
at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:64)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:190)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:186)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:157)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.bootstrap.ScannerContainer.doAfterStart(ScannerContainer.java:414)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.bootstrap.ScannerMain.runScannerEngine(ScannerMain.java:137)
at org.sonar.scanner.bootstrap.ScannerMain.run(ScannerMain.java:52)
at org.sonar.scanner.bootstrap.ScannerMain.main(ScannerMain.java:38)
11:15:42.284 ERROR Cannot import coverage information for file 'app/src/huawei/java/com/n7mobile/playnow/dependency/flavorModule.kt', coverage data is invalid. Error: {}
java.lang.IllegalStateException: Line 22 is out of range in the file app/src/huawei/java/com/n7mobile/playnow/dependency/flavorModule.kt (lines: 20)
at org.sonar.api.utils.Preconditions.checkState(Preconditions.java:61)
at org.sonar.api.batch.sensor.coverage.internal.DefaultCoverage.validateLine(DefaultCoverage.java:67)
at org.sonar.api.batch.sensor.coverage.internal.DefaultCoverage.lineHits(DefaultCoverage.java:55)
at org.sonar.plugins.jacoco.ReportImporter.importCoverage(ReportImporter.java:45)
at org.sonar.plugins.jacoco.JacocoSensor.importReport(JacocoSensor.java:81)
at org.sonar.plugins.jacoco.JacocoSensor.importReports(JacocoSensor.java:64)
at org.sonar.plugins.jacoco.JacocoSensor.execute(JacocoSensor.java:55)
at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:63)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:75)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:48)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:66)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:48)
at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:64)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:190)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:186)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:157)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.bootstrap.ScannerContainer.doAfterStart(ScannerContainer.java:414)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.bootstrap.ScannerMain.runScannerEngine(ScannerMain.java:137)
at org.sonar.scanner.bootstrap.ScannerMain.run(ScannerMain.java:52)
at org.sonar.scanner.bootstrap.ScannerMain.main(ScannerMain.java:38)
11:15:42.287 INFO Sensor JaCoCo XML Report Importer [jacoco] (done) | time=709ms
11:15:42.287 INFO Sensor Kotlin Sensor [kotlin]
11:15:42.317 INFO Only analyzing 703 changed Kotlin files out of 703.
11:15:42.323 INFO 703 source files to be analyzed
11:15:52.326 INFO 12/703 files analyzed, current file: app/src/googlePlay/java/com/n7mobile/playnow/model/cast/PlayNowCastManager.kt
11:15:53.437 INFO Code highlighting in issue messages is not supported, using plain text instead.
11:16:02.628 INFO 82/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/dependency/DataSources.kt
11:16:12.628 INFO 112/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/account/account/yourcontent/reminder/ReminderFragment.kt
11:16:23.070 INFO 166/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/common/details/product/tvod/TvodDetailsViewModel.kt
11:16:33.490 INFO 206/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/model/repository/remoteconfig/json/ProfilesFeatureRemoteConfigData.kt
11:16:43.490 INFO 244/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/player/overlay/description/special/SpecialChannelHandler.kt
11:16:53.935 INFO 260/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/dependency/ApiConfig.kt
11:17:04.262 INFO 267/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/model/playitem/PlaybackContinuationDialogPlayItemTransformer.kt
11:17:14.262 INFO 273/703 files analyzed, current file: app/src/googlePlay/java/com/n7mobile/playnow/model/cast/entity/ChromeCastPlayerCustomData.kt
11:17:24.325 INFO 273/703 files analyzed, current file: app/src/googlePlay/java/com/n7mobile/playnow/model/cast/entity/ChromeCastPlayerCustomData.kt
11:17:34.579 INFO 273/703 files analyzed, current file: app/src/googlePlay/java/com/n7mobile/playnow/model/cast/entity/ChromeCastPlayerCustomData.kt
11:17:44.832 INFO 279/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/main/main/SectionsDataViewModel.kt
11:17:55.164 INFO 288/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/model/repository/DocumentsListDataSource.kt
11:18:05.601 INFO 296/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/bandwidth/CommonDependencies.kt
11:18:15.837 INFO 296/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/bandwidth/CommonDependencies.kt
11:18:26.140 INFO 301/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/video/rental/minibanner/MiniBannerAdapter.kt
11:18:36.577 INFO 304/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/account/account/youraccount/settings/SettingsViewModel.kt
11:18:46.659 INFO 305/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/video/video/hbo_go/HboGoProductSectionViewHolder.kt
11:18:56.691 INFO 307/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/voucher/VoucherFragment.kt
11:19:07.105 INFO 307/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/voucher/VoucherFragment.kt
11:19:17.352 INFO 308/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/common/details/product/ProductDetailsViewModel.kt
11:19:27.470 INFO 309/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/tv/tv/favouritelive/banner/FavouriteLiveBannerViewHolder.kt
11:19:37.578 INFO 311/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/utils/strictModeUtils.kt
11:19:47.823 INFO 311/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/utils/strictModeUtils.kt
11:19:57.885 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:20:08.356 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:20:18.645 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:20:28.931 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:20:38.932 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:20:49.076 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:20:59.344 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:21:10.240 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:21:21.114 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:21:31.497 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:21:41.949 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:21:52.837 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:22:02.912 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:22:13.041 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:22:23.207 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:22:33.541 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:22:44.009 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:22:54.790 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:23:06.123 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:23:19.487 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:23:29.679 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:23:40.111 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:23:50.168 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:24:00.585 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:24:11.441 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:24:22.999 INFO 312/703 files analyzed, current file: app/src/main/java/com/n7mobile/playnow/ui/candyshop/increase/packets/CandyShopPointsPacketsViewHolder.kt
11:24:45.790 ERROR [stderr] Exception in thread "Progress of the Kotlin analysis"
11:24:45.790 ERROR [stderr] Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Progress of the Kotlin analysis"
11:24:46.168 ERROR [stderr] Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
11:24:46.168 ERROR [stderr] at java.base/java.util.LinkedHashMap.newNode(Unknown Source)
11:24:46.168 ERROR [stderr] at java.base/java.util.HashMap.putVal(Unknown Source)
11:24:46.168 ERROR [stderr] at java.base/java.util.HashMap.put(Unknown Source)
11:24:46.168 ERROR [stderr] at java.base/java.util.HashSet.add(Unknown Source)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.deserialization.AbstractFirDeserializedSymbolProvider$symbolNamesProvider$1.computeTopLevelClassifierNames(AbstractFirDeserializedSymbolProvider.kt:382)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.resolve.providers.FirCachedSymbolNamesProvider$topLevelClassifierNamesByPackage_delegate$lambda$3$$inlined$createCache$1.invoke(FirCachesFactory.kt:149)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.resolve.providers.FirCachedSymbolNamesProvider$topLevelClassifierNamesByPackage_delegate$lambda$3$$inlined$createCache$1.invoke(FirCachesFactory.kt:147)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirThreadSafeCache.getValue(FirThreadSafeCache.kt:26)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.resolve.providers.FirCachedSymbolNamesProvider.getTopLevelClassifierNamesInPackageSkippingPackageCheck(FirCachedSymbolNamesProvider.kt:189)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.resolve.providers.FirCachedSymbolNamesProvider.getTopLevelClassifierNamesInPackage(FirCachedSymbolNamesProvider.kt:95)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.resolve.providers.FirSymbolNamesProvider.mayHaveTopLevelClassifier(FirSymbolNamesProvider.kt:109)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.deserialization.AbstractFirDeserializedSymbolProvider.getClass(AbstractFirDeserializedSymbolProvider.kt:305)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.deserialization.AbstractFirDeserializedSymbolProvider.getClass$default(AbstractFirDeserializedSymbolProvider.kt:298)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.deserialization.AbstractFirDeserializedSymbolProvider.getClassLikeSymbolByClassId(AbstractFirDeserializedSymbolProvider.kt:372)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.analysis.low.level.api.fir.providers.LLFirDependenciesSymbolProvider.getClassLikeSymbolByClassId(LLFirModuleWithDependenciesSymbolProvider.kt:172)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.analysis.low.level.api.fir.providers.LLFirModuleWithDependenciesSymbolProvider.getClassLikeSymbolByClassId(LLFirModuleWithDependenciesSymbolProvider.kt:69)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.resolve.scopes.JvmMappedScopesKt.wrapScopeWithJvmMapped(JvmMappedScopes.kt:36)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.resolve.scopes.JvmMappedScopesKt.wrapScopeWithJvmMapped$default(JvmMappedScopes.kt:22)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.analysis.low.level.api.fir.projectStructure.LLFirBuiltinsSessionFactory$createBuiltinsAndCloneableSession$1$kotlinScopeProvider$1.invoke(LLFirBuiltinsSessionFactory.kt:106)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.analysis.low.level.api.fir.projectStructure.LLFirBuiltinsSessionFactory$createBuiltinsAndCloneableSession$1$kotlinScopeProvider$1.invoke(LLFirBuiltinsSessionFactory.kt:106)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider.getUseSiteMemberScope(FirKotlinScopeProvider.kt:56)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProviderKt.unsubstitutedScope(FirKotlinScopeProvider.kt:204)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProviderKt.scopeForClassImpl(FirKotlinScopeProvider.kt:282)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProviderKt.scopeForSupertype(FirKotlinScopeProvider.kt:247)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider.getUseSiteMemberScope(FirKotlinScopeProvider.kt:81)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProviderKt.unsubstitutedScope(FirKotlinScopeProvider.kt:204)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProviderKt.scopeForClassImpl(FirKotlinScopeProvider.kt:282)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProviderKt.scopeForClass(FirKotlinScopeProvider.kt:224)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.resolve.ScopeUtilsKt.classScope(ScopeUtils.kt:149)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.resolve.ScopeUtilsKt.scope(ScopeUtils.kt:96)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.resolve.ScopeUtilsKt.scope(ScopeUtils.kt:85)
11:24:46.169 ERROR [stderr] at org.jetbrains.kotlin.fir.resolve.calls.ImplicitReceiverValue.lazyImplicitScope$lambda$0(FirReceivers.kt:117)
11:24:46.220 INFO EXECUTION FAILURE
11:24:46.222 INFO Total time: 9:26.119s
✖ SonarQube Cloud analysis failed. (exit code = 3)
After analysing above logs we see, that Sonar enters some kind of a loop, in which it analyse one file several times, before it crashes. Please help us find a solution
bitbucket-pipelines.yml:
definitions:
caches:
wrapper: ~/.gradle/wrapper
- step:
name: SonarCloud
runs-on: [ self.hosted, linux ]
size: 4x
clone: { depth: full }
script:
- pipe: sonarsource/sonarcloud-scan:3.1.0
variables:
EXTRA_ARGS: -Dsonar.coverage.jacoco.xmlReportPaths=app/build/jacoco/jacoco.xml -Dsonar.java.coveragePlugin=jacoco -Dsonar.junit.reportPaths=app/build/test-results/testGooglePlayProductionUnitTest -Dsonar.exclusions=app/src/test/java/android/**
SONAR_SCANNER_OPTS: "-Xmx30g -XX:MaxMetaspaceSize=30g"