From 3f59a1372ba34eed585c2969d7f03b6dc182b2d6 Mon Sep 17 00:00:00 2001 From: Jonas Schaub <44881147+JonasSchaub@users.noreply.github.com> Date: Tue, 22 Aug 2023 11:14:10 +0200 Subject: [PATCH] Added SonarCloud integration; --- .github/workflows/SonarCloud.yml | 39 ++++++++++++++++++++++++++++++++ build.gradle | 9 ++++++++ 2 files changed, 48 insertions(+) create mode 100644 .github/workflows/SonarCloud.yml diff --git a/.github/workflows/SonarCloud.yml b/.github/workflows/SonarCloud.yml new file mode 100644 index 0000000..1249446 --- /dev/null +++ b/.github/workflows/SonarCloud.yml @@ -0,0 +1,39 @@ +# source: SonarCloud setup tutorial + +name: SonarCloud +on: + push: + branches: + - main + 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: 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/build.gradle b/build.gradle index 31e91cc..c5c6db4 100644 --- a/build.gradle +++ b/build.gradle @@ -26,6 +26,7 @@ plugins { id("com.diffplug.spotless") version "6.19.0" id 'org.gradle.maven-publish' id 'signing' + id("org.sonarqube") version "4.2.1.3168" } group = 'io.github.jonasschaub' @@ -88,6 +89,14 @@ spotless { } } +sonar { + properties { + property("sonar.projectKey", "JonasSchaub_ART2a-Clustering-for-Java") + property("sonar.organization", "jonasschaub") + property("sonar.host.url", "https://sonarcloud.io") + } +} + artifacts { archives javadocJar, sourcesJar }