diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f1cd5d4..b851575 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ concurrency: jobs: gradle_check: - name: Gradle check + name: Gradle check (JVM, Linux, JS) runs-on: ubuntu-latest steps: - name: Checkout @@ -27,3 +27,20 @@ jobs: - name: Run checks run: ./gradlew -Dorg.gradle.jvmargs=-Xmx4096m check + + macos_check: + name: Gradle check (iOS) + runs-on: macos-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Set up JDK 21 + uses: actions/setup-java@v5 + with: + distribution: 'temurin' + java-version: 21 + cache: 'gradle' + + - name: Run checks + run: ./gradlew -Dorg.gradle.jvmargs=-Xmx4096m check diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 01783c9..2abe4ca 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ on: jobs: maven_publish: name: Release build and publish - runs-on: ubuntu-latest + runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@v6 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5026729..dfe19f4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -21,6 +21,7 @@ ktor-client-encoding = { module = "io.ktor:ktor-client-encoding", version.ref = ktor-client-engine-java = { module = "io.ktor:ktor-client-java", version.ref = "ktor" } ktor-client-engine-curl = { module = "io.ktor:ktor-client-curl", version.ref = "ktor" } ktor-client-engine-js = { module = "io.ktor:ktor-client-js", version.ref = "ktor" } +ktor-client-engine-darwin = { module = "io.ktor:ktor-client-darwin", version.ref = "ktor" } ktor-client-engine-android = { module = "io.ktor:ktor-client-android", version.ref = "ktor" } [plugins] diff --git a/jecnaapi-canteen/build.gradle.kts b/jecnaapi-canteen/build.gradle.kts index 432e028..4bd6aef 100644 --- a/jecnaapi-canteen/build.gradle.kts +++ b/jecnaapi-canteen/build.gradle.kts @@ -11,6 +11,9 @@ plugins { kotlin { jvm() linuxX64() + iosX64() + iosArm64() + iosSimulatorArm64() js { browser { testTask { enabled = false } @@ -21,6 +24,7 @@ kotlin { testTask { enabled = false } } } + applyDefaultHierarchyTemplate() androidLibrary { namespace = "io.github.tomhula.jecnaapi.canteen" compileSdk = 36 @@ -35,9 +39,14 @@ kotlin { jvmMain.dependencies { runtimeOnly(libs.ktor.client.engine.java) } - nativeMain.dependencies { + val linuxX64Main by getting + linuxX64Main.dependencies { runtimeOnly(libs.ktor.client.engine.curl) } + val iosMain by getting + iosMain.dependencies { + runtimeOnly(libs.ktor.client.engine.darwin) + } jsMain.dependencies { runtimeOnly(libs.ktor.client.engine.js) } diff --git a/jecnaapi-core/build.gradle.kts b/jecnaapi-core/build.gradle.kts index c8bbb7f..68c60f6 100644 --- a/jecnaapi-core/build.gradle.kts +++ b/jecnaapi-core/build.gradle.kts @@ -13,6 +13,9 @@ plugins { kotlin { jvm() linuxX64() + iosX64() + iosArm64() + iosSimulatorArm64() js { browser { testTask { enabled = false } @@ -23,6 +26,7 @@ kotlin { testTask { enabled = false } } } + applyDefaultHierarchyTemplate() androidLibrary { namespace = "io.github.tomhula.jecnaapi.core" compileSdk = 36 @@ -38,9 +42,14 @@ kotlin { jvmMain.dependencies { runtimeOnly(libs.ktor.client.engine.java) } - nativeMain.dependencies { + val linuxX64Main by getting + linuxX64Main.dependencies { runtimeOnly(libs.ktor.client.engine.curl) } + val iosMain by getting + iosMain.dependencies { + runtimeOnly(libs.ktor.client.engine.darwin) + } jsMain.dependencies { runtimeOnly(libs.ktor.client.engine.js) } diff --git a/jecnaapi-jecna/build.gradle.kts b/jecnaapi-jecna/build.gradle.kts index f870ab6..931f2f6 100644 --- a/jecnaapi-jecna/build.gradle.kts +++ b/jecnaapi-jecna/build.gradle.kts @@ -13,6 +13,9 @@ plugins { kotlin { jvm() linuxX64() + iosX64() + iosArm64() + iosSimulatorArm64() js { browser { testTask { enabled = false } @@ -23,6 +26,7 @@ kotlin { testTask { enabled = false } } } + applyDefaultHierarchyTemplate() androidLibrary { namespace = "io.github.tomhula.jecnaapi.jecna" compileSdk = 36 @@ -40,9 +44,14 @@ kotlin { jvmMain.dependencies { runtimeOnly(libs.ktor.client.engine.java) } - nativeMain.dependencies { + val linuxX64Main by getting + linuxX64Main.dependencies { runtimeOnly(libs.ktor.client.engine.curl) } + val iosMain by getting + iosMain.dependencies { + runtimeOnly(libs.ktor.client.engine.darwin) + } jsMain.dependencies { runtimeOnly(libs.ktor.client.engine.js) }