From 76a183f3b743ea95f23c3bc23a7785450991b42c Mon Sep 17 00:00:00 2001 From: mrapplexz Date: Tue, 25 Apr 2023 00:40:52 +0300 Subject: [PATCH] Update toolchain, bump version --- .github/workflows/check_only.yml | 12 + .github/workflows/develop.yml | 12 + .github/workflows/master.yml | 12 + .gitignore | 3 +- build.gradle.kts | 29 +- gradle.properties | 32 ++- gradle/wrapper/gradle-wrapper.jar | Bin 58910 -> 61608 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- gradlew | 269 +++++++++++------- gradlew.bat | 34 +-- .../formatter/CaseFormatterConfigurable.kt | 10 +- .../kotlin/net/pearx/kasechange/CharUtils.kt | 4 +- 12 files changed, 244 insertions(+), 176 deletions(-) mode change 100755 => 100644 gradle/wrapper/gradle-wrapper.jar mode change 100755 => 100644 gradle/wrapper/gradle-wrapper.properties mode change 100755 => 100644 gradlew.bat diff --git a/.github/workflows/check_only.yml b/.github/workflows/check_only.yml index fdc2a4f..6010d82 100644 --- a/.github/workflows/check_only.yml +++ b/.github/workflows/check_only.yml @@ -13,6 +13,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: '11' - uses: actions/cache@v1 with: path: ~/.gradle @@ -30,6 +34,10 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v2 + - uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: '11' - uses: actions/cache@v1 with: path: ~/.gradle @@ -47,6 +55,10 @@ jobs: runs-on: windows-latest steps: - uses: actions/checkout@v2 + - uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: '11' - uses: actions/cache@v1 with: path: ~/.gradle diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 433e285..11c544a 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -10,6 +10,10 @@ jobs: if: "!contains(github.event.head_commit.message, '[ci skip]')" steps: - uses: actions/checkout@v2 + - uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: '11' - uses: actions/cache@v1 with: path: ~/.gradle @@ -32,6 +36,10 @@ jobs: if: "!contains(github.event.head_commit.message, '[ci skip]')" steps: - uses: actions/checkout@v2 + - uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: '11' - uses: actions/cache@v1 with: path: ~/.gradle @@ -55,6 +63,10 @@ jobs: if: "!contains(github.event.head_commit.message, '[ci skip]')" steps: - uses: actions/checkout@v2 + - uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: '11' - uses: actions/cache@v1 with: path: ~/.gradle diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 0a0d896..dd24271 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -10,6 +10,10 @@ jobs: if: "!contains(github.event.head_commit.message, '[ci skip]')" steps: - uses: actions/checkout@v2 + - uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: '11' - uses: actions/cache@v1 with: path: ~/.gradle @@ -32,6 +36,10 @@ jobs: if: "!contains(github.event.head_commit.message, '[ci skip]')" steps: - uses: actions/checkout@v2 + - uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: '11' - uses: actions/cache@v1 with: path: ~/.gradle @@ -55,6 +63,10 @@ jobs: if: "!contains(github.event.head_commit.message, '[ci skip]')" steps: - uses: actions/checkout@v2 + - uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: '11' - uses: actions/cache@v1 with: path: ~/.gradle diff --git a/.gitignore b/.gitignore index f5fa487..16e9b0d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ run node_modules package-lock.json out -local.properties \ No newline at end of file +local.properties +kotlin-js-store \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index e917845..b2cf2f5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,13 +4,15 @@ import net.pearx.multigradle.util.MultiGradleExtension val projectChangelog: String by project val projectDescription: String by project -val pearxRepoUsername: String? by project -val pearxRepoPassword: String? by project val sonatypeOssUsername: String? by project val sonatypeOssPassword: String? by project val githubAccessToken: String? by project val devBuildNumber: String? by project + +description = projectDescription + + plugins { id("net.pearx.multigradle.simple.project") id("org.jetbrains.kotlin.multiplatform") apply (false) @@ -19,9 +21,6 @@ plugins { signing } -group = "net.pearx.kasechange" -description = projectDescription - configure { if (devBuildNumber != null) { projectVersion = "$projectVersion-dev-$devBuildNumber" @@ -66,29 +65,9 @@ configure { system.set("GitHub") url.set("https://github.com/pearxteam/kasechange/issues") } - ciManagement { - system.set("Jenkins") - url.set("https://ci.pearx.net/job/pearxteam/job/kasechange") - } } } repositories { - maven { - credentials { - username = pearxRepoUsername - password = pearxRepoPassword - } - name = "pearx-repo-develop" - url = uri("https://repo.pearx.net/maven2/develop/") - } - maven { - credentials { - username = pearxRepoUsername - password = pearxRepoPassword - } - name = "pearx-repo-release" - url = uri("https://repo.pearx.net/maven2/release/") - } maven { credentials { username = sonatypeOssUsername diff --git a/gradle.properties b/gradle.properties index 520d714..5cabe9b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,27 +1,31 @@ +group=net.pearx.kasechange + +kotlin.mpp.androidSourceSetLayoutVersion=2 + org.gradle.jvmargs=-Xmx1G # https://github.com/gradle/gradle/issues/11308 systemProp.org.gradle.internal.publish.checksums.insecure=true #Common Stuff -projectVersion=1.3.0 -projectChangelog=Add support for Kotlin/Native and Android +projectVersion=1.4.0 +projectChangelog=Add sentence case format, update dependencies projectDescription=Multiplatform Kotlin library to convert strings between various case formats including Camel Case, Snake Case, Pascal Case and Kebab Case -kotlinVersion=1.3.72 -githubReleaseVersion=2.2.12 -multigradleVersion=1.8.3 +kotlinVersion=1.8.20 +githubReleaseVersion=2.4.1 +multigradleVersion=1.12.1 #JS Stuff -nodeJsVersion=14.2.0 -npmVersion=6.14.5 -mochaVersion=7.1.2 -mochaJunitReporterVersion=0.4.3 +nodeJsVersion=20.0.0 +npmVersion=9.6.5 +mochaVersion=10.2.0 +mochaJunitReporterVersion=2.2.0 #Java Stuff javaVersion=8 -junitJupiterVersion=5.6.2 -jacocoVersion=0.8.5 +junitJupiterVersion=5.9.2 +jacocoVersion=0.8.9 #Android Stuff -buildToolsVersion=29.0.3 -compileSdkVersion=android-29 -junitVersion=4.13 \ No newline at end of file +buildToolsVersion=30.0.3 +compileSdkVersion=android-33 +junitVersion=4.13.2 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar old mode 100755 new mode 100644 index 62d4c053550b91381bbd28b1afc82d634bf73a8a..ccebba7710deaf9f98673a68957ea02138b60d0a GIT binary patch delta 41819 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�&DnW5akX->!2y79K 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 NAVT=#wD9}v{{f$9*YW@W delta 39230 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties old mode 100755 new mode 100644 index a4f0001..5083229 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip +networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index fbd7c51..79a61d4 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,67 +17,101 @@ # ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -87,9 +121,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -98,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + JAVACMD=java which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -106,80 +140,105 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=`expr $i + 1` + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat old mode 100755 new mode 100644 index 5093609..93e3f59 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -54,7 +55,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -64,21 +65,6 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line @@ -86,17 +72,19 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/src/commonMain/kotlin/net/pearx/kasechange/formatter/CaseFormatterConfigurable.kt b/src/commonMain/kotlin/net/pearx/kasechange/formatter/CaseFormatterConfigurable.kt index 7789bee..e83a198 100644 --- a/src/commonMain/kotlin/net/pearx/kasechange/formatter/CaseFormatterConfigurable.kt +++ b/src/commonMain/kotlin/net/pearx/kasechange/formatter/CaseFormatterConfigurable.kt @@ -40,15 +40,15 @@ class CaseFormatterConfigurable(private val config: CaseFormatterConfig) : CaseF if (config.wordSplitter != null && index != 0) append(config.wordSplitter) append(when { - config.wordUppercase -> word.toUpperCase() + config.wordUppercase -> word.uppercase() index == 0 -> { when { - config.firstWordCapitalize -> word.toLowerCase().capitalize() - else -> word.toLowerCase() + config.firstWordCapitalize -> word.lowercase().replaceFirstChar { it.titlecase() } + else -> word.lowercase() } } - config.wordCapitalize -> word.toLowerCase().capitalize() - else -> word.toLowerCase() + config.wordCapitalize -> word.lowercase().replaceFirstChar { it.titlecase() } + else -> word.lowercase() }) } } diff --git a/src/jsMain/kotlin/net/pearx/kasechange/CharUtils.kt b/src/jsMain/kotlin/net/pearx/kasechange/CharUtils.kt index 625e1ad..cdcc930 100644 --- a/src/jsMain/kotlin/net/pearx/kasechange/CharUtils.kt +++ b/src/jsMain/kotlin/net/pearx/kasechange/CharUtils.kt @@ -7,8 +7,8 @@ package net.pearx.kasechange -internal actual fun Char.isUpperCasePlatform(): Boolean = toUpperCase() == this && toLowerCase() != this +internal actual fun Char.isUpperCasePlatform(): Boolean = uppercaseChar() == this && lowercaseChar() != this -internal actual fun Char.isLowerCasePlatform(): Boolean = toLowerCase() == this && toUpperCase() != this +internal actual fun Char.isLowerCasePlatform(): Boolean = lowercaseChar() == this && uppercaseChar() != this internal actual fun Char.isDigitPlatform(): Boolean = this in '0'..'9' \ No newline at end of file