diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml deleted file mode 100644 index b4e9503..0000000 --- a/.github/workflows/gradle.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: gradle-ci - -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, 17, 19 ] - - 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 - with: - path: ~/.sonar/cache - key: ${{ runner.os }}-sonar - restore-keys: ${{ runner.os }}-sonar - - - name: Cache Gradle packages - uses: actions/cache@v2 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - 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 - rm -f ~/.gradle/caches/modules-2/gc.properties diff --git a/lib/build.gradle.kts b/lib/build.gradle.kts index 2ab1f25..87553fb 100644 --- a/lib/build.gradle.kts +++ b/lib/build.gradle.kts @@ -16,12 +16,12 @@ plugins { id("signing") } -description = "Encode and decode URL parameters" +description = "URL parameters encoding and decoding" group = "net.thauvin.erik" version = "0.9-SNAPSHOT" val deployDir = "deploy" -val gitHub = "ethauvin/${rootProject.name}" +val gitHub = "ethauvin/$name" val mavenUrl = "https://github.com/$gitHub" val publicationName = "mavenJava" @@ -42,8 +42,7 @@ java { sonarqube { properties { - property("sonar.projectName", rootProject.name) - property("sonar.projectKey", "ethauvin_${rootProject.name}") + property("sonar.projectKey", "ethauvin_$name") property("sonar.organization", "ethauvin-github") property("sonar.host.url", "https://sonarcloud.io") property("sonar.sourceEncoding", "UTF-8") @@ -143,8 +142,8 @@ publishing { } } scm { - connection.set("scm:git://github.com/$gitHub.git") - developerConnection.set("scm:git@github.com:$gitHub.git") + connection.set("scm:git:git://github.com/$gitHub.git") + developerConnection.set("scm:git:git@github.com:$gitHub.git") url.set(mavenUrl) } issueManagement { diff --git a/lib/pom.xml b/lib/pom.xml index 753ffa4..de47058 100644 --- a/lib/pom.xml +++ b/lib/pom.xml @@ -1,53 +1,51 @@ - - - - - - - 4.0.0 - net.thauvin.erik - urlencoder - 0.9-SNAPSHOT - urlencoder - Encode and decode URL parameters - https://github.com/ethauvin/urlencoder - - - The Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - - - - - gbevin - Geert Bevin - gbevin@uwyn.com - - - ethauvin - Erik C. Thauvin - erik@thauvin.net - https://erik.thauvin.net/ - - - - scm:git://github.com/ethauvin/urlencoder.git - scm:git@github.com:ethauvin/urlencoder.git - https://github.com/ethauvin/urlencoder - - - GitHub - https://github.com/ethauvin/urlencoder/issues - - - - org.jetbrains.kotlin - kotlin-stdlib-jdk8 - 1.8.0 - compile - - + + + + + + + 4.0.0 + net.thauvin.erik + urlencoder + 0.9-SNAPSHOT + urlencoder + URL parameters encoding and decoding + https://github.com/ethauvin/lib + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + gbevin + Geert Bevin + gbevin@uwyn.com + + + ethauvin + Erik C. Thauvin + erik@thauvin.net + https://erik.thauvin.net/ + + + + scm:git:git://github.com/ethauvin/lib.git + scm:git:git@github.com:ethauvin/lib.git + https://github.com/ethauvin/lib + + + GitHub + https://github.com/ethauvin/lib/issues + + + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + 1.8.0 + compile + + diff --git a/lib/src/main/kotlin/net/thauvin/erik/urlencoder/UrlEncoder.kt b/lib/src/main/kotlin/net/thauvin/erik/urlencoder/UrlEncoder.kt index 63220e5..32fb483 100644 --- a/lib/src/main/kotlin/net/thauvin/erik/urlencoder/UrlEncoder.kt +++ b/lib/src/main/kotlin/net/thauvin/erik/urlencoder/UrlEncoder.kt @@ -50,7 +50,7 @@ object UrlEncoder { // see https://www.rfc-editor.org/rfc/rfc3986#page-13 private fun Char.isUnreserved(): Boolean { - return this <= '~' && unreservedChars.get(code) + return if (this > '~') false else unreservedChars.get(this.code) } private fun StringBuilder.appendEncodedDigit(digit: Int) { @@ -122,7 +122,7 @@ object UrlEncoder { /** * Transforms a provided [String] object into a new string, containing only valid URL characters in the UTF-8 - * encoding. Letters, numbers, unreserved (`_-!.~'()*`) and allowed characters are left intact. + * encoding. Letters, numbers, unreserved ("_-!.~'()*") and allowed characters are left intact. */ @JvmStatic fun encode(source: String, vararg allow: Char): String {