From 5b64333e8a9f5ea9f7b84e32493a271c1f9027f9 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 31 May 2021 11:32:41 -0700 Subject: [PATCH] Added Github workflow martix for JDK 1.8, 11 & 15. --- .github/workflows/gradle.yml | 21 +++++++++++++++------ build.gradle.kts | 22 +++++++++++----------- examples/build.gradle.kts | 6 +++--- 3 files changed, 29 insertions(+), 20 deletions(-) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 280a6a1..eef517b 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -5,17 +5,24 @@ on: [push, pull_request, workflow_dispatch] jobs: build: runs-on: ubuntu-latest + env: + GRADLE_OPTS: "-Dorg.gradle.jvmargs=-XX:MaxMetaspaceSize=512m" + SONAR_JDK: "11" + strategy: + matrix: + java-version: [ 1.8, 11, 15 ] steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - - name: Set up JDK 11 + - name: Set up JDK ${{ matrix.java-version }} uses: actions/setup-java@v1 with: - java-version: 11 + java-version: ${{ matrix.java-version }} - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Cache SonarCloud packages + if: matrix.java-version == env.SONAR_JDK uses: actions/cache@v1 with: path: ~/.sonar/cache @@ -27,15 +34,17 @@ jobs: path: | ~/.gradle/caches ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + key: ${{ runner.os }}-gradle-${{ matrix.java-version }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | - ${{ runner.os }}-gradle- + ${{ runner.os }}-gradle-${{ matrix.java-version }}- - name: Test with Gradle + run: ./gradlew build check --stacktrace + - name: SonarCloud + if: success() && matrix.java-version == env.SONAR_JDK env: - CI_NAME: "GitHub CI" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: ./gradlew check sonarqube + run: ./gradlew sonarqube - name: Cleanup Gradle Cache run: | rm -f ~/.gradle/caches/modules-2/modules-2.lock diff --git a/build.gradle.kts b/build.gradle.kts index f7ee359..82bd72c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,18 +3,18 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.gradle.api.tasks.testing.logging.TestLogEvent plugins { - jacoco - java - `java-library` - `maven-publish` - signing - id("com.github.ben-manes.versions") version "0.38.0" + id("com.github.ben-manes.versions") version "0.39.0" id("io.gitlab.arturbosch.detekt") version "1.17.1" + id("jacoco") + id("java") + id("java-library") + id("maven-publish") id("net.thauvin.erik.gradle.semver") version "1.0.4" id("org.jetbrains.dokka") version "1.4.32" - id("org.jetbrains.kotlin.jvm") version "1.5.0" - id("org.jetbrains.kotlin.kapt") version "1.5.0" id("org.sonarqube") version "3.2.0" + id("signing") + kotlin("jvm") version "1.5.10" + kotlin("kapt") version "1.5.10" } group = "net.thauvin.erik" @@ -35,10 +35,10 @@ repositories { } dependencies { - implementation(platform("org.jetbrains.kotlin:kotlin-bom")) + implementation(platform(kotlin("bom"))) - testImplementation("org.jetbrains.kotlin:kotlin-test") - testImplementation("org.jetbrains.kotlin:kotlin-test-junit") + testImplementation(kotlin("test")) + testImplementation(kotlin("test-junit")) } kapt { diff --git a/examples/build.gradle.kts b/examples/build.gradle.kts index 52c6c5c..128923a 100644 --- a/examples/build.gradle.kts +++ b/examples/build.gradle.kts @@ -1,7 +1,7 @@ plugins { - id("org.jetbrains.kotlin.jvm") version "1.5.0" - id("com.github.ben-manes.versions") version "0.38.0" - application + id("application") + id("com.github.ben-manes.versions") version "0.39.0" + kotlin("jvm") version "1.5.10" } // ./gradlew run --args='https://www.example.com https://is.gd/Pt2sET'