diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index dddfde6..822801f 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -5,22 +5,28 @@ 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: [ 11, 15 ] + steps: - uses: actions/checkout@v2 with: fetch-depth: 0 + - name: Set up JDK ${{ matrix.java-version }} uses: actions/setup-java@v1 with: 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 @@ -28,6 +34,7 @@ jobs: path: ~/.sonar/cache key: ${{ runner.os }}-sonar restore-keys: ${{ runner.os }}-sonar + - name: Cache Gradle packages uses: actions/cache@v2 with: @@ -37,14 +44,17 @@ jobs: key: ${{ runner.os }}-gradle-${{ matrix.java-version }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ 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: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: ./gradlew sonarqube + - name: Cleanup Gradle Cache run: | rm -f ~/.gradle/caches/modules-2/modules-2.lock diff --git a/README.md b/README.md index 0f8f4e1..45e00bf 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ ReadingTime( plural = "min read", excludeImages = false, extra = 0, - roundingMode = RoundingMode.HALF_DOWN + roundingMode = RoundingMode.HALF_EVEN ) ``` diff --git a/build.gradle.kts b/build.gradle.kts index f85863a..dfa2f78 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,7 +13,7 @@ plugins { id("java-library") id("maven-publish") id("org.jetbrains.dokka") version "1.4.32" - id("org.sonarqube") version "3.2.0" + id("org.sonarqube") version "3.3" id("signing") kotlin("jvm") version "1.5.10" } @@ -141,20 +141,20 @@ tasks { register("deploy") { description = "Copies all needed files to the $deployDir directory." group = PublishingPlugin.PUBLISH_TASK_GROUP - dependsOn("build", "jar") + dependsOn(build, jar) outputs.dir(deployDir) inputs.files(copyToDeploy) - mustRunAfter("clean") + mustRunAfter(clean) } register("release") { description = "Publishes version ${project.version} to local repository." group = PublishingPlugin.PUBLISH_TASK_GROUP - dependsOn("wrapper", "deploy", "gitTag", "publishToMavenLocal") + dependsOn(wrapper, "deploy", gitTag, publishToMavenLocal) } "sonarqube" { - dependsOn("jacocoTestReport") + dependsOn(jacocoTestReport) } } diff --git a/src/test/kotlin/net/thauvin/erik/readingtime/ReadingTimeTest.kt b/src/test/kotlin/net/thauvin/erik/readingtime/ReadingTimeTest.kt index 421a652..1ae89b6 100644 --- a/src/test/kotlin/net/thauvin/erik/readingtime/ReadingTimeTest.kt +++ b/src/test/kotlin/net/thauvin/erik/readingtime/ReadingTimeTest.kt @@ -132,6 +132,8 @@ class ReadingTimeTest { rt.text = "" assertEquals(0.0, rt.calcReadingTimeInSec(), "empty") + rt.postfix = "" + assertEquals(rt.calcReadingTime(), rt.calcReadingTimeInSec().toInt().toString(), "toInt(0)") } @Test