Skip to content
Snippets Groups Projects
Unverified Commit cd22103d authored by Thomas Kowark's avatar Thomas Kowark Committed by GitHub
Browse files

Sonar setup (#191)


* Setup Sonar

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* Revert "Setup Sonar"

This reverts commit 92ac0411

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* Revert "Setup Sonar"

This reverts commit 92ac0411

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* Sonar

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* Sonar

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* Sonar

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* Updated properties

* Fixed jacoco report path and running jacoco

* Generating Coverage

* jacoco report fix

* Enabling coverage

* Adding jacoco dependencies

* Removing Coverage Enabled Types

* Removing Sonar for now

* Plugin Test

* Re-activating Sonar

* fixing jacoco property

* fix jacoco xml path

* Dummy Code to test

* minimal config

* back to full configuration

* right binaries folder?

* sources and binaries

* First scan, then save

* bumping jacoco version

* fixed detekt path

* reverting intentional error

* exclusions

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* exclusions

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* exclusions

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* exclusions

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* add protobuf compiled ignore

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* only scan kotlin files in src/main/java

Co-authored-by: default avatard067928 <jakob.moeller@sap.com>
Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>
parent b6a9b74b
No related branches found
No related tags found
No related merge requests found
version: 2.1 version: 2.1
orbs: orbs:
android: circleci/android@0.2.1 android: circleci/android@0.2.1
sonarcloud: sonarsource/sonarcloud@1.0.1
commands: commands:
install-ndk: android/install-ndk install-ndk: android/install-ndk
restore-build-cache: android/restore-build-cache restore-build-cache: android/restore-build-cache
save-build-cache: android/save-build-cache save-build-cache: android/save-build-cache
scan-sonar: sonarcloud/scan
jobs: jobs:
quickBuildReleaseWithTestsAndChecks: quickBuildReleaseWithTestsAndChecks:
executor: android/android executor: android/android
...@@ -22,6 +24,13 @@ jobs: ...@@ -22,6 +24,13 @@ jobs:
environment: environment:
JVM_OPTS: -Xmx2048m JVM_OPTS: -Xmx2048m
GRADLE_OPTS: -Xmx1536m -XX:+HeapDumpOnOutOfMemoryError -Dorg.gradle.caching=true -Dorg.gradle.configureondemand=true -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false GRADLE_OPTS: -Xmx1536m -XX:+HeapDumpOnOutOfMemoryError -Dorg.gradle.caching=true -Dorg.gradle.configureondemand=true -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false
- run:
name: JaCoCo report
command: ./gradlew :Corona-Warn-App:jacocoTestReportDeviceRelease
environment:
JVM_OPTS: -Xmx2048m
GRADLE_OPTS: -Xmx1536m -XX:+HeapDumpOnOutOfMemoryError -Dorg.gradle.caching=true -Dorg.gradle.configureondemand=true -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false
- scan-sonar
- save-build-cache - save-build-cache
- save_cache: - save_cache:
paths: paths:
...@@ -36,4 +45,5 @@ workflows: ...@@ -36,4 +45,5 @@ workflows:
version: 2 version: 2
workflow: workflow:
jobs: jobs:
- quickBuildReleaseWithTestsAndChecks - quickBuildReleaseWithTestsAndChecks:
context: SonarCloud
...@@ -22,7 +22,6 @@ apply plugin: 'kotlin-android' ...@@ -22,7 +22,6 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-kapt'
apply plugin: "androidx.navigation.safeargs.kotlin" apply plugin: "androidx.navigation.safeargs.kotlin"
apply plugin: 'jacoco'
android { android {
ndkVersion "21.2.6472646" ndkVersion "21.2.6472646"
...@@ -78,6 +77,7 @@ android { ...@@ -78,6 +77,7 @@ android {
minifyEnabled true minifyEnabled true
shrinkResources true shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
testCoverageEnabled true
buildConfigField "String", "EXPORT_SIGNATURE_ID", "\"de.rki.coronawarnapp-dev\"" buildConfigField "String", "EXPORT_SIGNATURE_ID", "\"de.rki.coronawarnapp-dev\""
} }
} }
...@@ -141,13 +141,6 @@ android { ...@@ -141,13 +141,6 @@ android {
} }
task jacocoTestReport(type: JacocoReport, dependsOn: ['testDeviceReleaseUnitTest']) {
reports {
xml.enabled = true
html.enabled = true
}
}
dependencies { dependencies {
// KOTLIN // KOTLIN
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7"
......
...@@ -19,6 +19,7 @@ buildscript { ...@@ -19,6 +19,7 @@ buildscript {
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navVersion" classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navVersion"
classpath "org.jlleitschuh.gradle:ktlint-gradle:9.2.1" classpath "org.jlleitschuh.gradle:ktlint-gradle:9.2.1"
classpath "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.9.1" classpath "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.9.1"
classpath "com.vanniktech:gradle-android-junit-jacoco-plugin:0.16.0"
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // in the individual module build.gradle files
...@@ -28,6 +29,7 @@ buildscript { ...@@ -28,6 +29,7 @@ buildscript {
subprojects { subprojects {
apply plugin: "io.gitlab.arturbosch.detekt" apply plugin: "io.gitlab.arturbosch.detekt"
apply plugin: "org.jlleitschuh.gradle.ktlint" apply plugin: "org.jlleitschuh.gradle.ktlint"
apply plugin: "com.vanniktech.android.junit.jacoco"
detekt { detekt {
debug = true debug = true
...@@ -49,6 +51,10 @@ subprojects { ...@@ -49,6 +51,10 @@ subprojects {
ignoreFailures = false ignoreFailures = false
coloredOutput = false coloredOutput = false
} }
junitJacoco {
jacocoVersion = '0.8.5'
}
} }
allprojects { allprojects {
...@@ -56,7 +62,7 @@ allprojects { ...@@ -56,7 +62,7 @@ allprojects {
google() google()
jcenter() jcenter()
// mavenLocal() // mavenLocal()
} }
} }
...@@ -85,5 +91,3 @@ task quickBuildWithFixes { ...@@ -85,5 +91,3 @@ task quickBuildWithFixes {
dependsOn ':Corona-Warn-App:ktlintDeviceReleaseCheck' dependsOn ':Corona-Warn-App:ktlintDeviceReleaseCheck'
dependsOn ':Corona-Warn-App:detekt' dependsOn ':Corona-Warn-App:detekt'
} }
sonar.projectKey=corona-warn-app_cwa-app-android
sonar.organization=corona-warn-app
sonar.host.url=https://sonarcloud.io
sonar.coverage.jacoco.xmlReportPaths=Corona-Warn-App/build/reports/jacoco/deviceRelease/jacoco.xml
sonar.sources=Corona-Warn-App/src/main/java/
sonar.inclusions=**/*.kt
sonar.java.binaries=Corona-Warn-App/build/tmp/kotlin-classes
sonar.java.libraries=Corona-Warn-App/libs
sonar.kotlin.file.suffixes=.kt
sonar.kotlin.detekt.reportPaths=Corona-Warn-App/build/reports/detekt/detekt.xml
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment