From 5d84d884cc8e0d33f692b42a724d5bc4d352c3aa Mon Sep 17 00:00:00 2001 From: Stefan Oltmann Date: Wed, 2 Aug 2023 19:23:03 +0200 Subject: [PATCH] Update to Kotlin 1.9 (#7) * Prepared update to Kotlin 1.9.0 * Dependency updates * Dependency updates * Use androidTarget --- .idea/runConfigurations/Build.xml | 24 +++++++++++++ .../Check_dependency_updates.xml | 24 +++++++++++++ README.md | 6 ++-- build.gradle.kts | 34 +++++-------------- gradle/wrapper/gradle-wrapper.properties | 2 +- .../com/ashampoo/xmp/PosixByteArrayReader.kt | 3 +- 6 files changed, 62 insertions(+), 31 deletions(-) create mode 100644 .idea/runConfigurations/Build.xml create mode 100644 .idea/runConfigurations/Check_dependency_updates.xml diff --git a/.idea/runConfigurations/Build.xml b/.idea/runConfigurations/Build.xml new file mode 100644 index 0000000..071ad1d --- /dev/null +++ b/.idea/runConfigurations/Build.xml @@ -0,0 +1,24 @@ + + + + + + + true + true + false + false + + + \ No newline at end of file diff --git a/.idea/runConfigurations/Check_dependency_updates.xml b/.idea/runConfigurations/Check_dependency_updates.xml new file mode 100644 index 0000000..be92228 --- /dev/null +++ b/.idea/runConfigurations/Check_dependency_updates.xml @@ -0,0 +1,24 @@ + + + + + + + true + true + false + false + + + \ No newline at end of file diff --git a/README.md b/README.md index 17648a6..cd76c1f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # XMP Core for Kotlin Multiplatform -[![Kotlin](https://img.shields.io/badge/kotlin-1.8.20-blue.svg?logo=kotlin)](httpw://kotlinlang.org) +[![Kotlin](https://img.shields.io/badge/kotlin-1.9.0-blue.svg?logo=kotlin)](httpw://kotlinlang.org) ![JVM](https://img.shields.io/badge/-JVM-gray.svg?style=flat) ![Android](https://img.shields.io/badge/-Android-gray.svg?style=flat) ![macOS](https://img.shields.io/badge/-macOS-gray.svg?style=flat) @@ -15,7 +15,7 @@ It's part of [Ashampoo Photos](https://ashampoo.com/photos). ## Installation ``` -implementation("com.ashampoo:xmpcore:0.1.0") +implementation("com.ashampoo:xmpcore:0.1.5") ``` ## How to use @@ -61,7 +61,7 @@ please feel free to submit a pull request. * JetBrains for making [Kotlin](https://kotlinlang.org). * Adobe for making the XMP Core Java SDK. -* Paul de Vrieze for making [XmlUtil](https://github.com/pdvrieze/xmlutil) +* Paul de Vrieze for making [XmlUtil](https://github.com/pdvrieze/xmlutil). ## License diff --git a/build.gradle.kts b/build.gradle.kts index ecd40e9..1775f53 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,16 +2,17 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFramework plugins { - kotlin("multiplatform") version "1.8.20" + kotlin("multiplatform") version "1.9.0" id("com.android.library") version "7.4.2" id("maven-publish") id("signing") id("io.gitlab.arturbosch.detekt") version "1.22.0" - id("org.sonarqube") version "4.0.0.2929" + id("org.sonarqube") version "4.3.0.3225" id("org.jetbrains.kotlinx.kover") version "0.6.1" id("com.asarkar.gradle.build-time-tracker") version "4.3.0" id("me.qoomon.git-versioning") version "6.4.1" - id("com.goncalossilva.resources") version "0.3.2" + id("com.goncalossilva.resources") version "0.4.0" + id("com.github.ben-manes.versions") version "0.47.0" } repositories { @@ -21,7 +22,7 @@ repositories { val productName = "Ashampoo XMP Core" -val ktorVersion: String = "2.3.2" +val ktorVersion: String = "2.3.3" val xmlUtilVersion: String = "0.86.1" description = productName @@ -115,7 +116,7 @@ dependencies { kotlin { - android { + androidTarget { compilations.all { kotlinOptions { @@ -165,10 +166,10 @@ kotlin { implementation(kotlin("test")) /* Multiplatform test resources */ - implementation("com.goncalossilva:resources:0.3.2") + implementation("com.goncalossilva:resources:0.4.0") /* Multiplatform file access */ - implementation("org.jetbrains.kotlinx:kotlinx-io-core:0.2.0") + implementation("org.jetbrains.kotlinx:kotlinx-io-core:0.2.1") } } @@ -203,25 +204,6 @@ kotlin { } } - // See https://youtrack.jetbrains.com/issue/KT-55751 - val myAttribute = Attribute.of("KT-55751", String::class.java) - - // replace releaseFrameworkIosFat by the name of the first configuration that conflicts - configurations.named("releaseFrameworkIosFat").configure { - attributes { - // put a unique attribute - attribute(myAttribute, "release-all") - } - } - - // replace releaseFrameworkOsxFat by the name of the first configuration that conflicts - configurations.named("releaseFrameworkOsxFat").configure { - attributes { - // put a unique attribute - attribute(myAttribute, "release-all") - } - } - val jvmMain by sourceSets.getting @Suppress("UnusedPrivateMember", "UNUSED_VARIABLE") // False positive diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 37aef8d..17a8ddc 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/posixMain/kotlin/com/ashampoo/xmp/PosixByteArrayReader.kt b/src/posixMain/kotlin/com/ashampoo/xmp/PosixByteArrayReader.kt index 2c10803..e267654 100644 --- a/src/posixMain/kotlin/com/ashampoo/xmp/PosixByteArrayReader.kt +++ b/src/posixMain/kotlin/com/ashampoo/xmp/PosixByteArrayReader.kt @@ -1,6 +1,7 @@ package com.ashampoo.xmp import kotlinx.cinterop.CPointer +import kotlinx.cinterop.ExperimentalForeignApi import kotlinx.cinterop.UnsafeNumber import kotlinx.cinterop.memScoped import kotlinx.cinterop.refTo @@ -14,7 +15,7 @@ import platform.posix.ftell import platform.posix.perror import platform.posix.rewind -@OptIn(UnsafeNumber::class) +@OptIn(UnsafeNumber::class, ExperimentalForeignApi::class) internal fun readFileAsByteArray(filePath: String): ByteArray? = memScoped { /* Note: Mode "rb" is for reading binary files. */