diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml new file mode 100644 index 0000000..0a5f710 --- /dev/null +++ b/.github/workflows/sonarcloud.yml @@ -0,0 +1,40 @@ +name: SonarCloud +on: + push: + branches: + - master + pull_request: + types: [opened, synchronize, reopened] + +jobs: + build: + name: Build and analyze + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: 17 + distribution: 'zulu' # Alternative distribution options are available + - name: Cache SonarCloud packages + uses: actions/cache@v3 + with: + path: ~/.sonar/cache + key: ${{ runner.os }}-sonar + restore-keys: ${{ runner.os }}-sonar + - name: Cache Gradle packages + uses: actions/cache@v3 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} + restore-keys: ${{ runner.os }}-gradle + - name: chmod + run: chmod +x ./gradlew + - name: Build and analyze + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + run: ./gradlew build sonar --info \ No newline at end of file diff --git a/app/src/main/java/de/eknoes/inofficialgolem/updater/GolemFetcher.java b/app/src/main/java/de/eknoes/inofficialgolem/updater/GolemFetcher.java index 3cf9d72..3f10c56 100644 --- a/app/src/main/java/de/eknoes/inofficialgolem/updater/GolemFetcher.java +++ b/app/src/main/java/de/eknoes/inofficialgolem/updater/GolemFetcher.java @@ -1,5 +1,6 @@ package de.eknoes.inofficialgolem.updater; +import android.annotation.SuppressLint; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; @@ -17,6 +18,7 @@ import de.eknoes.inofficialgolem.FeedReaderContract; import de.eknoes.inofficialgolem.FeedReaderDbHelper; import de.eknoes.inofficialgolem.R; +import kotlin.Suppress; import java.lang.ref.WeakReference; import java.util.Date; @@ -140,6 +142,7 @@ protected void onPostExecute(GolemFetcher.FETCH_STATE finished) { } } + @SuppressLint("Range") private void writeArticles(List articles, boolean insertNew) { for (GolemItem item : articles) { if (isCancelled() || db == null) { diff --git a/build.gradle b/build.gradle index 0dcbf35..6154840 100644 --- a/build.gradle +++ b/build.gradle @@ -18,6 +18,19 @@ buildscript { } } +plugins { + id "org.sonarqube" version "4.4.1.3373" +} + +sonar { + properties { + //TODO change this + property "sonar.projectKey", "Zusel_golem-android-reader" + property "sonar.organization", "main-org" + property "sonar.host.url", "https://sonarcloud.io" + } +} + allprojects { repositories { google() @@ -29,6 +42,9 @@ allprojects { } } + tasks.register('clean', Delete) { delete rootProject.buildDir } + + diff --git a/gradle.properties b/gradle.properties index 94d20af..fe463ab 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,4 +2,5 @@ android.defaults.buildfeatures.buildconfig=true android.enableJetifier=false android.nonFinalResIds=false android.nonTransitiveRClass=false -android.useAndroidX=true \ No newline at end of file +android.useAndroidX=true +org.gradle.jvmargs=-Xmx1024m "-XX:MaxMetaspaceSize=512m" \ No newline at end of file