From 2696f1546d9d9e338209e8286b00cac65eaa2251 Mon Sep 17 00:00:00 2001 From: sergeych Date: Fri, 26 Sep 2025 11:48:40 +0400 Subject: [PATCH] upgrading to kotlin 2.2 --- .github/workflows/gradle.yml | 54 ------------------- .github/workflows/publish.yml | 25 --------- .run/Tests in 'lyng.lynglib.jvmTest'.run.xml | 42 --------------- docs/String.md | 0 docs/development/String.md | 26 +++++++++ docs/tutorial.md | 2 +- gradle/libs.versions.toml | 2 +- lyng/build.gradle.kts | 2 +- lynglib/build.gradle.kts | 4 +- .../kotlin/net/sergeych/lyng/Token.kt | 2 +- 10 files changed, 32 insertions(+), 127 deletions(-) delete mode 100644 .github/workflows/gradle.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .run/Tests in 'lyng.lynglib.jvmTest'.run.xml delete mode 100644 docs/String.md create mode 100644 docs/development/String.md diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml deleted file mode 100644 index d1fa018..0000000 --- a/.github/workflows/gradle.yml +++ /dev/null @@ -1,54 +0,0 @@ -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. -# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle - -name: Java CI with Gradle - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - workflow_call: - -permissions: - contents: read - -jobs: - build: - strategy: - matrix: - include: - - target: iosSimulatorArm64Test - os: macos-latest - - target: jvmTest - os: ubuntu-latest - - target: linuxX64Test - os: ubuntu-latest - - target: testDebugUnitTest - os: ubuntu-latest - - target: testReleaseUnitTest - os: ubuntu-latest - runs-on: ${{ matrix.os }} - - steps: - - uses: actions/checkout@v3 - - name: Validate Gradle Wrapper - uses: gradle/actions/wrapper-validation@v3 - - uses: actions/cache@v3 - with: - path: | - ~/.konan - key: ${{ runner.os }}-${{ hashFiles('**/.lock') }} - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - name: Build with Gradle - uses: gradle/gradle-build-action@ce999babab2de1c4b649dc15f0ee67e6246c994f - with: - arguments: ${{ matrix.target }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index 515213f..0000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Publish -on: - release: - types: [released, prereleased] -jobs: - publish: - name: Release build and publish - runs-on: macOS-latest - steps: - - name: Check out code - uses: actions/checkout@v4 - - name: Set up JDK 21 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: 21 - - name: Publish to MavenCentral - run: ./gradlew publishToMavenCentral --no-configuration-cache - env: - ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }} - ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} - ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }} - ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }} - ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.GPG_KEY_CONTENTS }} - diff --git a/.run/Tests in 'lyng.lynglib.jvmTest'.run.xml b/.run/Tests in 'lyng.lynglib.jvmTest'.run.xml deleted file mode 100644 index 604f2c5..0000000 --- a/.run/Tests in 'lyng.lynglib.jvmTest'.run.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - false - true - false - true - - - \ No newline at end of file diff --git a/docs/String.md b/docs/String.md deleted file mode 100644 index e69de29..0000000 diff --git a/docs/development/String.md b/docs/development/String.md new file mode 100644 index 0000000..d5d9f16 --- /dev/null +++ b/docs/development/String.md @@ -0,0 +1,26 @@ +# String + +# This document is for developer notes only + +-------------------------- + + +## Interpolation proposal + +"""no $iterpolation""" + + val inpterpolation1 = "foo" + "${interpolation1}" + >>> "foo" + +"$interpolation2" +"no $$ interpolatino" + + +## Regexp vs div / ? + +```EBNF +regex_literal = "/", { regchar }, "/", [ flag ] +foag = "i" | "n".... +regchar = x`x` +``` diff --git a/docs/tutorial.md b/docs/tutorial.md index 274da2c..593aa4f 100644 --- a/docs/tutorial.md +++ b/docs/tutorial.md @@ -1403,7 +1403,7 @@ See [math functions](math.md). Other general purpose functions are: [Range]: Range.md -[String]: String.md +[String]: development/String.md [string formatting]: https://github.com/sergeych/mp_stools?tab=readme-ov-file#sprintf-syntax-summary diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5bd405e..71ae0d9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] agp = "8.5.2" clikt = "5.0.3" -kotlin = "2.1.21" +kotlin = "2.2.20" android-minSdk = "24" android-compileSdk = "34" kotlinx-coroutines = "1.9.0" diff --git a/lyng/build.gradle.kts b/lyng/build.gradle.kts index 426f29e..1533746 100644 --- a/lyng/build.gradle.kts +++ b/lyng/build.gradle.kts @@ -16,7 +16,7 @@ */ plugins { - kotlin("multiplatform") version "2.1.21" + kotlin("multiplatform") version "2.2.20" } group = "net.sergeych" diff --git a/lynglib/build.gradle.kts b/lynglib/build.gradle.kts index 21dd306..036ac7e 100644 --- a/lynglib/build.gradle.kts +++ b/lynglib/build.gradle.kts @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl import org.jetbrains.kotlin.gradle.dsl.JvmTarget group = "net.sergeych" -version = "0.9.0-SNAPSHOT" +version = "0.9.1-SNAPSHOT" buildscript { repositories { @@ -37,7 +37,7 @@ plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.androidLibrary) // alias(libs.plugins.vanniktech.mavenPublish) - kotlin("plugin.serialization") version "2.2.0" + kotlin("plugin.serialization") version "2.1.0" id("com.codingfeline.buildkonfig") version "0.17.1" `maven-publish` } diff --git a/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Token.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Token.kt index 9470913..a457a08 100644 --- a/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Token.kt +++ b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Token.kt @@ -30,7 +30,7 @@ data class Token(val value: String, val pos: Pos, val type: Type) { @Suppress("unused") enum class Type { - ID, INT, REAL, HEX, STRING, CHAR, + ID, INT, REAL, HEX, STRING, STRING2, REGEX, CHAR, LPAREN, RPAREN, LBRACE, RBRACE, LBRACKET, RBRACKET, COMMA, SEMICOLON, COLON, PLUS, MINUS, STAR, SLASH, PERCENT,