From f5c31bf6ef40500c784a4336b7b6dfb63430d9d7 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 10 Oct 2026 05:12:31 +0000 Subject: [PATCH] =?UTF-8?q?build:=20Kotlin=202.5=20=E4=BB=A5=E9=99=8D?= =?UTF-8?q?=E3=81=B8=E5=B7=AE=E3=81=97=E6=9B=BF=E3=81=88=E3=81=9F=E3=83=93?= =?UTF-8?q?=E3=83=AB=E3=83=89=E3=81=A7=E3=81=AF=20macosX64=20=E3=82=92?= =?UTF-8?q?=E5=AE=A3=E8=A8=80=E3=81=97=E3=81=AA=E3=81=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit KGP 2.5.0-Beta1 で macosX64() の非推奨が ERROR へ上がり、 @Suppress("DEPRECATION") では抑制できずに runtime-api のビルドスクリプトの コンパイルが失敗していた(kotlin-prerelease の週次ビルドが設定段階で停止)。 適用中の KGP が 2.5 以降なら宣言をとばし、呼び出しのコンパイルは DEPRECATION_ERROR の抑制で通す。2.5 へ移行する時はこの分岐を削除し、 macosX64 の宣言をやめる。 カタログの宣言版(2.4.20)では従来どおり macosX64 を宣言し、配布物は変わらない。 Changelog: none Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01E2nSQTgRy5Azh586umXMZb --- runtime-api/build.gradle.kts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/runtime-api/build.gradle.kts b/runtime-api/build.gradle.kts index 4a4cd5c..57afd95 100644 --- a/runtime-api/build.gradle.kts +++ b/runtime-api/build.gradle.kts @@ -3,6 +3,7 @@ import com.vanniktech.maven.publish.KotlinMultiplatform import org.gradle.api.publish.maven.tasks.PublishToMavenRepository import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion plugins { alias(libs.plugins.kotlin.multiplatform) @@ -30,8 +31,13 @@ kotlin { linuxArm64() // macosX64 は Intel Mac 廃止に伴い KGP 2.4 で非推奨化されたが、代替ターゲットは無く // (macosArm64 は別アーキテクチャ)、Intel Mac 向け klib の公開を維持するため宣言を残す。 - // KGP から関数が削除された時点で改めて対応する - @Suppress("DEPRECATION") macosX64() + // KGP 2.5 では非推奨が ERROR へ上がるため、2.5 以降へ差し替えたマイナー横断ビルドでは宣言しない + // (呼び出しのコンパイルは DEPRECATION_ERROR の抑制で通す)。 + // 2.5 へ移行する時はこの分岐を削除し、macosX64 の宣言をやめる + val (kgpMajor, kgpMinor) = getKotlinPluginVersion().split(".").take(2).map(String::toInt) + if (!KotlinVersion(kgpMajor, kgpMinor).isAtLeast(2, 5)) { + @Suppress("DEPRECATION", "DEPRECATION_ERROR") macosX64() + } macosArm64() // iOS 系。純 Kotlin の klib のため宣言は mac 以外のホストでも成立し、