From 87be0f8bfc8b4a1aeef15c175c48c24896ca6e95 Mon Sep 17 00:00:00 2001 From: Stefan Oltmann Date: Fri, 16 May 2025 09:07:36 +0200 Subject: [PATCH 01/10] Added AndroidProjectSystem.xml --- .idea/AndroidProjectSystem.xml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .idea/AndroidProjectSystem.xml diff --git a/.idea/AndroidProjectSystem.xml b/.idea/AndroidProjectSystem.xml new file mode 100644 index 0000000..4a53bee --- /dev/null +++ b/.idea/AndroidProjectSystem.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file From ddd582d0324dc536023d02a81941e310b6a8fd97 Mon Sep 17 00:00:00 2001 From: Stefan Oltmann Date: Fri, 16 May 2025 09:07:57 +0200 Subject: [PATCH 02/10] Removed coverage from README.md as SonarCloud was deactivated --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a2ede93..154f239 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,6 @@ ![JS](https://img.shields.io/badge/-JS-gray.svg?style=flat) ![WASM](https://img.shields.io/badge/-WASM-gray.svg?style=flat) ![WASI](https://img.shields.io/badge/-WASI-gray.svg?style=flat) -[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=xmpcore&metric=coverage)](https://sonarcloud.io/summary/new_code?id=xmpcore) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.ashampoo/xmpcore/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.ashampoo/xmpcore) This library is a port of Adobe's XMP SDK to Kotlin Multiplatform by Ashampoo. From 251fa57c8eba7416d45837a87ddc3eb905ddd2ed Mon Sep 17 00:00:00 2001 From: Stefan Oltmann Date: Fri, 16 May 2025 09:08:46 +0200 Subject: [PATCH 03/10] Updated to Gradle 8.14 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 9bf7bd3..3c44eb1 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.12.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 20cfcf2e694d4b33c7aa1b0fd4ff1e7275e733a3 Mon Sep 17 00:00:00 2001 From: Stefan Oltmann Date: Fri, 16 May 2025 09:18:33 +0200 Subject: [PATCH 04/10] Dependency updates --- README.md | 2 +- build.gradle.kts | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 154f239..1d8da4d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # XMP Core for Kotlin Multiplatform -[![Kotlin](https://img.shields.io/badge/kotlin-2.1.10-blue.svg?logo=kotlin)](httpw://kotlinlang.org) +[![Kotlin](https://img.shields.io/badge/kotlin-2.1.21-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) ![iOS](https://img.shields.io/badge/-iOS-gray.svg?style=flat) diff --git a/build.gradle.kts b/build.gradle.kts index be23d86..3bd1448 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,17 +3,17 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFramework plugins { - kotlin("multiplatform") version "2.1.10" - id("com.android.library") version "8.5.0" + kotlin("multiplatform") version "2.1.21" + id("com.android.library") version "8.9.2" id("maven-publish") id("signing") - id("io.gitlab.arturbosch.detekt") version "1.23.7" + id("io.gitlab.arturbosch.detekt") version "1.23.8" id("org.sonarqube") version "4.3.1.3277" id("org.jetbrains.kotlinx.kover") version "0.6.1" - id("com.asarkar.gradle.build-time-tracker") version "4.3.0" + id("com.asarkar.gradle.build-time-tracker") version "5.0.1" id("me.qoomon.git-versioning") version "6.4.4" id("com.goncalossilva.resources") version "0.10.0" - id("com.github.ben-manes.versions") version "0.51.0" + id("com.github.ben-manes.versions") version "0.52.0" id("org.jetbrains.dokka") version "1.9.20" } @@ -24,8 +24,8 @@ repositories { val productName = "Ashampoo XMP Core" -val xmlUtilVersion: String = "0.90.3" -val kotlinIoVersion: String = "0.6.0" +val xmlUtilVersion: String = "0.91.1" +val kotlinxIoVersion: String = "0.7.0" description = productName group = "com.ashampoo" @@ -104,7 +104,7 @@ koverMerged { } dependencies { - detektPlugins("io.gitlab.arturbosch.detekt:detekt-formatting:1.23.7") + detektPlugins("io.gitlab.arturbosch.detekt:detekt-formatting:1.23.8") } kotlin { @@ -180,7 +180,7 @@ kotlin { implementation(kotlin("test")) /* Multiplatform file access */ - implementation("org.jetbrains.kotlinx:kotlinx-io-core:$kotlinIoVersion") + implementation("org.jetbrains.kotlinx:kotlinx-io-core:$kotlinxIoVersion") } } From 71bd89011bd4ee7bc2387e3a820c05153ee7f475 Mon Sep 17 00:00:00 2001 From: Stefan Oltmann Date: Fri, 16 May 2025 09:20:01 +0200 Subject: [PATCH 05/10] Removed Dokka --- .github/workflows/pages.yml | 55 ------------------------------------- build.gradle.kts | 1 - 2 files changed, 56 deletions(-) delete mode 100644 .github/workflows/pages.yml diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml deleted file mode 100644 index 1db30fc..0000000 --- a/.github/workflows/pages.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Deploy to GitHub Pages - -on: - push: - branches: [ "main" ] - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: "pages" - cancel-in-progress: false - -jobs: - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup Pages - uses: actions/configure-pages@v4 - - name: Set up Java JDK 18 - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: '17.0.13+11' - - name: Gradle Cache - uses: actions/cache@v3 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - ~/.gradle/native - key: ${{ runner.os }}-gradle-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties', 'build.gradle.kts') }} - - name: Build & Test - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - chmod +x ./gradlew - ./gradlew dokkaHtml - - name: Upload artifact - uses: actions/upload-pages-artifact@v2 - with: - path: 'build/dokka/html' - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v3 diff --git a/build.gradle.kts b/build.gradle.kts index 3bd1448..a47f37c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,7 +14,6 @@ plugins { id("me.qoomon.git-versioning") version "6.4.4" id("com.goncalossilva.resources") version "0.10.0" id("com.github.ben-manes.versions") version "0.52.0" - id("org.jetbrains.dokka") version "1.9.20" } repositories { From ea27f37f548ace05d2fbaf39a8b44136e18db988 Mon Sep 17 00:00:00 2001 From: Stefan Oltmann Date: Fri, 16 May 2025 09:23:29 +0200 Subject: [PATCH 06/10] SonarQube configuration removed --- .github/workflows/ci.yml | 11 ++--------- build.gradle.kts | 30 ------------------------------ detekt.yml | 8 ++++---- 3 files changed, 6 insertions(+), 43 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 801cb95..2fd3fd8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@v3 timeout-minutes: 5 with: - fetch-depth: 0 # no shallow clones for SonarQube + fetch-depth: 0 - name: Set up Java JDK 17 uses: actions/setup-java@v3 with: @@ -50,19 +50,12 @@ jobs: path: ~/.android key: ${{ runner.os }}-android-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties', 'build.gradle.kts') }} restore-keys: ${{ runner.os }}-android- - - name: Cache SonarCloud packages - uses: actions/cache@v3 - with: - path: ~/.sonar/cache - key: ${{ runner.os }}-sonar - restore-keys: ${{ runner.os }}-sonar - name: Build & Test env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | chmod +x ./gradlew - ./gradlew build test koverXmlReport detekt sonar assembleXCFramework --parallel + ./gradlew build test koverXmlReport detekt assembleXCFramework --parallel - name: Set RELEASE_VERSION variable run: | echo "RELEASE_VERSION=$(cat build/version.txt)" >> $GITHUB_ENV diff --git a/build.gradle.kts b/build.gradle.kts index a47f37c..a174673 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,6 @@ plugins { id("maven-publish") id("signing") id("io.gitlab.arturbosch.detekt") version "1.23.8" - id("org.sonarqube") version "4.3.1.3277" id("org.jetbrains.kotlinx.kover") version "0.6.1" id("com.asarkar.gradle.build-time-tracker") version "5.0.1" id("me.qoomon.git-versioning") version "6.4.4" @@ -50,41 +49,12 @@ gitVersioning.apply { } apply(plugin = "io.gitlab.arturbosch.detekt") -apply(plugin = "org.sonarqube") apply(plugin = "kover") buildTimeTracker { sortBy.set(com.asarkar.gradle.buildtimetracker.Sort.DESC) } -sonar { - properties { - - property("sonar.projectKey", "xmpcore") - property("sonar.projectName", productName) - property("sonar.organization", "ashampoo") - property("sonar.host.url", "https://sonarcloud.io") - - property( - "sonar.sources", - listOf( - "./src/commonMain/kotlin", - "./src/posixMain/kotlin" - ) - ) - property( - "sonar.tests", - listOf( - "./src/commonTest/kotlin" - ) - ) - - property("sonar.android.lint.report", "build/reports/lint-results.xml") - property("sonar.kotlin.detekt.reportPaths", "build/reports/detekt/detekt.xml") - property("sonar.coverage.jacoco.xmlReportPaths", "build/reports/kover/xml/report.xml") - } -} - detekt { source.from("src", "build.gradle.kts") allRules = true diff --git a/detekt.yml b/detekt.yml index 32bbb3d..75f8f71 100644 --- a/detekt.yml +++ b/detekt.yml @@ -96,7 +96,7 @@ comments: complexity: active: true CognitiveComplexMethod: - active: false # already checked by SonarQube + active: true threshold: 15 ComplexCondition: active: true @@ -108,7 +108,7 @@ complexity: includePrivateDeclarations: false ignoreOverloaded: false CyclomaticComplexMethod: - active: false # already checked by SonarQube + active: true threshold: 15 ignoreSingleWhenExpression: false ignoreSimpleWhenEntries: false @@ -133,8 +133,8 @@ complexity: active: true threshold: 60 LongParameterList: - active: false # already checked by SonarQube - functionThreshold: 7 # 7 is SonarQube default + active: true + functionThreshold: 7 constructorThreshold: 7 ignoreDefaultParameters: false ignoreDataClasses: true From aa8bd01e2038a2d86ff76dea8494d7736a3cbc19 Mon Sep 17 00:00:00 2001 From: Stefan Oltmann Date: Fri, 16 May 2025 09:30:00 +0200 Subject: [PATCH 07/10] Updated Kover plugin --- .github/workflows/ci.yml | 2 +- .../runConfigurations/Create_Kover_report.xml | 24 +++++++++++++++++++ build.gradle.kts | 8 +------ 3 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 .idea/runConfigurations/Create_Kover_report.xml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2fd3fd8..c7f77bd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,7 +55,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | chmod +x ./gradlew - ./gradlew build test koverXmlReport detekt assembleXCFramework --parallel + ./gradlew build test detekt assembleXCFramework --parallel - name: Set RELEASE_VERSION variable run: | echo "RELEASE_VERSION=$(cat build/version.txt)" >> $GITHUB_ENV diff --git a/.idea/runConfigurations/Create_Kover_report.xml b/.idea/runConfigurations/Create_Kover_report.xml new file mode 100644 index 0000000..b3989a1 --- /dev/null +++ b/.idea/runConfigurations/Create_Kover_report.xml @@ -0,0 +1,24 @@ + + + + + + + true + true + false + false + + + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index a174673..46ae97b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ plugins { id("maven-publish") id("signing") id("io.gitlab.arturbosch.detekt") version "1.23.8" - id("org.jetbrains.kotlinx.kover") version "0.6.1" + id("org.jetbrains.kotlinx.kover") version "0.9.1" id("com.asarkar.gradle.build-time-tracker") version "5.0.1" id("me.qoomon.git-versioning") version "6.4.4" id("com.goncalossilva.resources") version "0.10.0" @@ -49,7 +49,6 @@ gitVersioning.apply { } apply(plugin = "io.gitlab.arturbosch.detekt") -apply(plugin = "kover") buildTimeTracker { sortBy.set(com.asarkar.gradle.buildtimetracker.Sort.DESC) @@ -67,11 +66,6 @@ detekt { kover { } -koverMerged { - xmlReport { - } -} - dependencies { detektPlugins("io.gitlab.arturbosch.detekt:detekt-formatting:1.23.8") } From 722a60f19b5acc0860760f2c76a3e9412c0abc23 Mon Sep 17 00:00:00 2001 From: Stefan Oltmann Date: Fri, 16 May 2025 09:47:02 +0200 Subject: [PATCH 08/10] Bumped version to 1.5.2 --- README.md | 2 +- src/commonMain/kotlin/com/ashampoo/xmp/XMPVersionInfo.kt | 2 +- .../com/ashampoo/xmp/sample_100_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_100_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_101_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_101_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_102_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_102_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_103_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_103_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_104_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_104_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_105_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_105_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_106_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_106_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_107_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_107_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_108_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_108_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_109_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_109_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_10_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_10_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_11_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_11_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_12_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_12_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_13_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_13_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_14_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_14_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_15_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_15_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_16_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_16_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_17_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_17_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_18_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_18_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_19_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_19_formatted_compact.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_1_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_1_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_20_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_20_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_21_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_21_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_22_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_22_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_23_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_23_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_24_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_24_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_25_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_25_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_26_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_26_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_27_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_27_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_28_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_28_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_29_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_29_formatted_compact.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_2_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_2_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_30_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_30_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_31_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_31_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_32_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_32_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_33_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_33_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_34_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_34_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_35_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_35_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_36_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_36_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_37_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_37_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_38_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_38_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_39_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_39_formatted_compact.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_3_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_3_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_40_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_40_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_41_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_41_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_42_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_42_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_43_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_43_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_44_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_44_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_45_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_45_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_46_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_46_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_47_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_47_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_48_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_48_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_49_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_49_formatted_compact.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_4_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_4_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_50_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_50_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_51_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_51_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_52_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_52_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_53_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_53_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_54_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_54_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_55_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_55_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_56_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_56_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_57_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_57_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_58_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_58_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_59_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_59_formatted_compact.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_5_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_5_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_60_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_60_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_61_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_61_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_62_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_62_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_63_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_63_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_64_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_64_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_65_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_65_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_66_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_66_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_67_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_67_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_68_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_68_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_69_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_69_formatted_compact.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_6_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_6_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_70_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_70_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_71_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_71_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_72_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_72_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_73_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_73_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_74_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_74_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_75_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_75_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_76_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_76_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_77_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_77_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_78_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_78_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_79_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_79_formatted_compact.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_7_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_7_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_80_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_80_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_81_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_81_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_82_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_82_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_83_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_83_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_84_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_84_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_85_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_85_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_86_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_86_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_87_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_87_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_88_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_88_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_89_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_89_formatted_compact.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_8_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_8_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_90_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_90_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_91_formatted_canonical.xmp | 2 +- .../com/ashampoo/xmp/sample_92_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_92_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_93_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_93_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_94_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_94_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_95_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_95_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_96_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_96_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_97_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_97_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_98_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_98_formatted_compact.xmp | 2 +- .../com/ashampoo/xmp/sample_99_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_99_formatted_compact.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_9_formatted_canonical.xmp | 2 +- .../resources/com/ashampoo/xmp/sample_9_formatted_compact.xmp | 2 +- 219 files changed, 219 insertions(+), 219 deletions(-) diff --git a/README.md b/README.md index 1d8da4d..6222425 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ It's part of [Ashampoo Photo Organizer](https://ashampoo.com/photo-organizer). ## Installation ``` -implementation("com.ashampoo:xmpcore:1.5.1") +implementation("com.ashampoo:xmpcore:1.5.2") ``` ## How to use diff --git a/src/commonMain/kotlin/com/ashampoo/xmp/XMPVersionInfo.kt b/src/commonMain/kotlin/com/ashampoo/xmp/XMPVersionInfo.kt index d144690..512d434 100644 --- a/src/commonMain/kotlin/com/ashampoo/xmp/XMPVersionInfo.kt +++ b/src/commonMain/kotlin/com/ashampoo/xmp/XMPVersionInfo.kt @@ -9,7 +9,7 @@ public object XMPVersionInfo { public const val MAJOR: Int = 1 public const val MINOR: Int = 5 - public const val PATCH: Int = 1 + public const val PATCH: Int = 2 public const val VERSION_MESSAGE: String = "Ashampoo XMP Core $MAJOR.$MINOR.$PATCH" diff --git a/src/commonTest/resources/com/ashampoo/xmp/sample_100_formatted_canonical.xmp b/src/commonTest/resources/com/ashampoo/xmp/sample_100_formatted_canonical.xmp index 1e592d1..dc0ede9 100644 --- a/src/commonTest/resources/com/ashampoo/xmp/sample_100_formatted_canonical.xmp +++ b/src/commonTest/resources/com/ashampoo/xmp/sample_100_formatted_canonical.xmp @@ -1,5 +1,5 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/src/commonTest/resources/com/ashampoo/xmp/sample_13_formatted_compact.xmp b/src/commonTest/resources/com/ashampoo/xmp/sample_13_formatted_compact.xmp index 5286494..c63ae80 100644 --- a/src/commonTest/resources/com/ashampoo/xmp/sample_13_formatted_compact.xmp +++ b/src/commonTest/resources/com/ashampoo/xmp/sample_13_formatted_compact.xmp @@ -1,5 +1,5 @@ - + - + diff --git a/src/commonTest/resources/com/ashampoo/xmp/sample_14_formatted_compact.xmp b/src/commonTest/resources/com/ashampoo/xmp/sample_14_formatted_compact.xmp index 4064bf8..9abdf72 100644 --- a/src/commonTest/resources/com/ashampoo/xmp/sample_14_formatted_compact.xmp +++ b/src/commonTest/resources/com/ashampoo/xmp/sample_14_formatted_compact.xmp @@ -1,5 +1,5 @@ - + - + diff --git a/src/commonTest/resources/com/ashampoo/xmp/sample_15_formatted_compact.xmp b/src/commonTest/resources/com/ashampoo/xmp/sample_15_formatted_compact.xmp index b5b88c2..9a22270 100644 --- a/src/commonTest/resources/com/ashampoo/xmp/sample_15_formatted_compact.xmp +++ b/src/commonTest/resources/com/ashampoo/xmp/sample_15_formatted_compact.xmp @@ -1,5 +1,5 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/src/commonTest/resources/com/ashampoo/xmp/sample_31_formatted_compact.xmp b/src/commonTest/resources/com/ashampoo/xmp/sample_31_formatted_compact.xmp index 4064bf8..9abdf72 100644 --- a/src/commonTest/resources/com/ashampoo/xmp/sample_31_formatted_compact.xmp +++ b/src/commonTest/resources/com/ashampoo/xmp/sample_31_formatted_compact.xmp @@ -1,5 +1,5 @@ - + - + - + - + - + - + diff --git a/src/commonTest/resources/com/ashampoo/xmp/sample_34_formatted_compact.xmp b/src/commonTest/resources/com/ashampoo/xmp/sample_34_formatted_compact.xmp index 4064bf8..9abdf72 100644 --- a/src/commonTest/resources/com/ashampoo/xmp/sample_34_formatted_compact.xmp +++ b/src/commonTest/resources/com/ashampoo/xmp/sample_34_formatted_compact.xmp @@ -1,5 +1,5 @@ - + - + - + - + - + - + - + - + - + - + diff --git a/src/commonTest/resources/com/ashampoo/xmp/sample_39_formatted_compact.xmp b/src/commonTest/resources/com/ashampoo/xmp/sample_39_formatted_compact.xmp index 5286494..c63ae80 100644 --- a/src/commonTest/resources/com/ashampoo/xmp/sample_39_formatted_compact.xmp +++ b/src/commonTest/resources/com/ashampoo/xmp/sample_39_formatted_compact.xmp @@ -1,5 +1,5 @@ - + - + - + - + - + - + diff --git a/src/commonTest/resources/com/ashampoo/xmp/sample_41_formatted_compact.xmp b/src/commonTest/resources/com/ashampoo/xmp/sample_41_formatted_compact.xmp index 5286494..c63ae80 100644 --- a/src/commonTest/resources/com/ashampoo/xmp/sample_41_formatted_compact.xmp +++ b/src/commonTest/resources/com/ashampoo/xmp/sample_41_formatted_compact.xmp @@ -1,5 +1,5 @@ - + - + - + - + diff --git a/src/commonTest/resources/com/ashampoo/xmp/sample_43_formatted_compact.xmp b/src/commonTest/resources/com/ashampoo/xmp/sample_43_formatted_compact.xmp index 2f937af..c5fe667 100644 --- a/src/commonTest/resources/com/ashampoo/xmp/sample_43_formatted_compact.xmp +++ b/src/commonTest/resources/com/ashampoo/xmp/sample_43_formatted_compact.xmp @@ -1,5 +1,5 @@ - + - + diff --git a/src/commonTest/resources/com/ashampoo/xmp/sample_44_formatted_compact.xmp b/src/commonTest/resources/com/ashampoo/xmp/sample_44_formatted_compact.xmp index 92b0ff6..67bc94c 100644 --- a/src/commonTest/resources/com/ashampoo/xmp/sample_44_formatted_compact.xmp +++ b/src/commonTest/resources/com/ashampoo/xmp/sample_44_formatted_compact.xmp @@ -1,5 +1,5 @@ - + - + - + - + - + - + - + - + - + - + diff --git a/src/commonTest/resources/com/ashampoo/xmp/sample_49_formatted_compact.xmp b/src/commonTest/resources/com/ashampoo/xmp/sample_49_formatted_compact.xmp index 4064bf8..9abdf72 100644 --- a/src/commonTest/resources/com/ashampoo/xmp/sample_49_formatted_compact.xmp +++ b/src/commonTest/resources/com/ashampoo/xmp/sample_49_formatted_compact.xmp @@ -1,5 +1,5 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + Date: Fri, 16 May 2025 09:47:19 +0200 Subject: [PATCH 09/10] Bumped version to 1.5.2 --- .../resources/com/ashampoo/xmp/sample_91_formatted_compact.xmp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/commonTest/resources/com/ashampoo/xmp/sample_91_formatted_compact.xmp b/src/commonTest/resources/com/ashampoo/xmp/sample_91_formatted_compact.xmp index fba9292..406c2e5 100644 --- a/src/commonTest/resources/com/ashampoo/xmp/sample_91_formatted_compact.xmp +++ b/src/commonTest/resources/com/ashampoo/xmp/sample_91_formatted_compact.xmp @@ -1,5 +1,5 @@ - + Date: Fri, 16 May 2025 09:53:56 +0200 Subject: [PATCH 10/10] CI update: Use macos-15 runner with latest Java 17 & XCode --- .github/workflows/ci.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c7f77bd..cb08958 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,24 +13,24 @@ on: jobs: build: name: Build & Test - runs-on: macos-13 + runs-on: macos-15 steps: - name: Checkout workspace - uses: actions/checkout@v3 + uses: actions/checkout@v4 timeout-minutes: 5 with: fetch-depth: 0 - name: Set up Java JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: '17.0.13+11' - - name: Select XCode 15.2 + java-version: '17.0.15+6' + - name: Select XCode 16.3 run: | - sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer + sudo xcode-select -s /Applications/Xcode_16.3.app/Contents/Developer xcodebuild -version - name: Gradle Cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | ~/.gradle/caches @@ -39,13 +39,13 @@ jobs: key: ${{ runner.os }}-gradle-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties', 'build.gradle.kts') }} restore-keys: ${{ runner.os }}-gradle- - name: Kotlin Native Cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.konan key: ${{ runner.os }}-konan-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties', 'build.gradle.kts') }} restore-keys: ${{ runner.os }}-konan- - name: Android Cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.android key: ${{ runner.os }}-android-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties', 'build.gradle.kts') }} @@ -61,7 +61,7 @@ jobs: echo "RELEASE_VERSION=$(cat build/version.txt)" >> $GITHUB_ENV echo ${{ env.RELEASE_VERSION }} - name: Upload reports - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: always() with: name: reports.zip @@ -70,49 +70,49 @@ jobs: run: | ls -lah build/bin/*/releaseExecutable build/libs/ build/outputs/aar/ build/XCFrameworks/release/ - name: Upload xmpcore.jar - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error name: xmpcore.jar path: build/libs/xmpcore-jvm-${{ env.RELEASE_VERSION }}.jar - name: Upload xmpcore.aar - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error name: xmpcore.aar path: build/outputs/aar/xmpcore-release.aar - name: Upload xmpcore.xcframework - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error name: xmpcore.xcframework path: build/XCFrameworks/release/xmpcore.xcframework - name: Upload xmpcore.exe - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error name: xmpcore.exe path: build/bin/win/releaseExecutable/xmpcore.exe - name: Upload xmpcore-macosX64.kexe - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error name: xmpcore-macosX64.kexe path: build/bin/macosX64/releaseExecutable/xmpcore.kexe - name: Upload xmpcore-macosArm64.kexe - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error name: xmpcore-macosArm64.kexe path: build/bin/macosArm64/releaseExecutable/xmpcore.kexe - name: Upload xmpcore-linuxArm64.kexe - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error name: xmpcore-linuxArm64.kexe path: build/bin/linuxArm64/releaseExecutable/xmpcore.kexe - name: Upload xmpcore-linuxX64.kexe - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error name: xmpcore-linuxX64.kexe