Skip to content

Commit 9808147

Browse files
authored
Update Compose to 1.11.0-beta02. Remove ios/mac x64 targets. (#3386)
* Update Compose to 1.11.0-beta01. Remove ios/mac x64 targets. * Fix deprecated API. * Fix Compose 1.11 CI and desktop UI tests * Adjust CI workflow defaults * Optimize Skiko rect usage and fix macOS CI * Update Compose to 1.11.0-beta02 * Use v2 desktop Compose UI test API * Use macos-26 everywhere. * Fix deprecations. * Use named args.
1 parent 7ea3d9a commit 9808147

21 files changed

Lines changed: 50 additions & 52 deletions

File tree

.github/workflows/ci.yml

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,13 @@ jobs:
5252
timeout-minutes: 5
5353
with:
5454
cache-overwrite-existing: true
55-
cache-cleanup: true
5655

5756
- name: Unit tests
5857
run: ./test.sh --skip-checks --skip-instrumentation-tests
5958

6059
unit-tests-macos:
6160
name: Unit tests (macOS)
62-
runs-on: macos-latest
61+
runs-on: macos-26
6362
timeout-minutes: 120
6463
steps:
6564
- uses: actions/checkout@v6
@@ -72,7 +71,6 @@ jobs:
7271
timeout-minutes: 5
7372
with:
7473
cache-overwrite-existing: true
75-
cache-cleanup: true
7674

7775
- name: Unit tests
7876
run: ./gradlew iosSimulatorArm64Test macosArm64Test
@@ -96,7 +94,6 @@ jobs:
9694
timeout-minutes: 5
9795
with:
9896
cache-overwrite-existing: true
99-
cache-cleanup: true
10097

10198
# API 30+ emulators only have x86_64 system images.
10299
- name: Get AVD info
@@ -134,7 +131,6 @@ jobs:
134131
timeout-minutes: 5
135132
with:
136133
cache-overwrite-existing: true
137-
cache-cleanup: true
138134

139135
- name: Build Compose and View samples
140136
# Place resource restrictions on this task so it doesn't crash.
@@ -144,7 +140,7 @@ jobs:
144140
145141
build-samples-macos:
146142
name: Build samples (macOS)
147-
runs-on: macos-latest
143+
runs-on: macos-26
148144
timeout-minutes: 60
149145
steps:
150146
- uses: actions/checkout@v6
@@ -157,14 +153,13 @@ jobs:
157153
timeout-minutes: 5
158154
with:
159155
cache-overwrite-existing: true
160-
cache-cleanup: true
161156

162157
- name: Build iOS sample
163-
run: xcodebuild -project samples/compose/iosApp/iosApp.xcodeproj -scheme iosApp -destination 'generic/platform=iOS Simulator' CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
158+
run: xcodebuild -project samples/compose/iosApp/iosApp.xcodeproj -scheme iosApp -destination 'generic/platform=iOS Simulator' ARCHS=arm64 CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
164159

165160
deploy-snapshot:
166161
name: Deploy snapshot
167-
runs-on: macos-latest
162+
runs-on: macos-26
168163
timeout-minutes: 180
169164
if: github.repository == 'coil-kt/coil' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.x')
170165
needs: [checks, unit-tests, unit-tests-macos, instrumentation-tests, build-samples, build-samples-macos]

buildSrc/src/main/kotlin/coil3/multiplatform.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,9 @@ fun Project.addAllMultiplatformTargets(
8787
}
8888
}
8989

90-
iosX64()
9190
iosArm64()
9291
iosSimulatorArm64()
9392

94-
macosX64()
9593
macosArm64()
9694

9795
if (enableNativeLinux) {

coil-compose-core/api/coil-compose-core.klib.api

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Klib ABI Dump
2-
// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, macosArm64, macosX64, wasmJs]
2+
// Targets: [iosArm64, iosSimulatorArm64, js, macosArm64, wasmJs]
33
// Rendering settings:
44
// - Signature version: 2
55
// - Show manifest properties: true

coil-compose-core/src/nonAndroidMain/kotlin/coil3/compose/ImagePainter.nonAndroid.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ package coil3.compose
33
import androidx.compose.ui.graphics.Canvas
44
import androidx.compose.ui.graphics.FilterQuality
55
import androidx.compose.ui.graphics.asComposeImageBitmap
6-
import androidx.compose.ui.graphics.nativeCanvas
76
import androidx.compose.ui.graphics.painter.BitmapPainter
87
import androidx.compose.ui.graphics.painter.Painter
8+
import androidx.compose.ui.graphics.skiaCanvas
99
import coil3.BitmapImage
1010
import coil3.Image
1111
import coil3.PlatformContext
@@ -22,4 +22,4 @@ actual fun Image.asPainter(
2222
else -> ImagePainter(this)
2323
}
2424

25-
internal actual val Canvas.nativeCanvas get() = nativeCanvas
25+
internal actual val Canvas.nativeCanvas get() = skiaCanvas

coil-compose/api/coil-compose.klib.api

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Klib ABI Dump
2-
// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, macosArm64, macosX64, wasmJs]
2+
// Targets: [iosArm64, iosSimulatorArm64, js, macosArm64, wasmJs]
33
// Rendering settings:
44
// - Signature version: 2
55
// - Show manifest properties: true

coil-core/api/coil-core.klib.api

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Klib ABI Dump
2-
// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, wasmJs]
3-
// Alias: native => [iosArm64, iosSimulatorArm64, iosX64, linuxArm64, linuxX64, macosArm64, macosX64]
2+
// Targets: [iosArm64, iosSimulatorArm64, js, linuxArm64, linuxX64, macosArm64, wasmJs]
3+
// Alias: native => [iosArm64, iosSimulatorArm64, linuxArm64, linuxX64, macosArm64]
44
// Rendering settings:
55
// - Signature version: 2
66
// - Show manifest properties: true

coil-core/src/nonAndroidMain/kotlin/coil3/ColorImage.kt

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package coil3
22

33
import coil3.annotation.Poko
44
import org.jetbrains.skia.Paint
5-
import org.jetbrains.skia.Rect
65

76
@Poko
87
actual class ColorImage actual constructor(
@@ -13,7 +12,6 @@ actual class ColorImage actual constructor(
1312
actual override val shareable: Boolean,
1413
) : Image {
1514
private var lazyPaint: Paint? = null
16-
private var lazyRect: Rect? = null
1715

1816
actual override fun draw(canvas: Canvas) {
1917
val paint = lazyPaint ?: run {
@@ -22,11 +20,7 @@ actual class ColorImage actual constructor(
2220
.also { lazyPaint = it }
2321
}
2422
if (width >= 0 && height >= 0) {
25-
val rect = lazyRect ?: run {
26-
Rect.makeWH(width.toFloat(), height.toFloat())
27-
.also { lazyRect = it }
28-
}
29-
canvas.drawRect(rect, paint)
23+
canvas.drawRect(0f, 0f, width.toFloat(), height.toFloat(), paint)
3024
} else {
3125
canvas.drawPaint(paint)
3226
}

coil-core/src/nonAndroidMain/kotlin/coil3/util/utils.nonAndroid.kt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import coil3.size.Precision
99
import org.jetbrains.skia.Bitmap
1010
import org.jetbrains.skia.Canvas
1111
import org.jetbrains.skia.Image as SkiaImage
12-
import org.jetbrains.skia.Rect
12+
import org.jetbrains.skia.SamplingMode
1313
import org.jetbrains.skia.impl.use
1414

1515
internal actual fun println(
@@ -56,8 +56,17 @@ internal fun Bitmap.Companion.makeFromImage(
5656
Canvas(bitmap).use { canvas ->
5757
canvas.drawImageRect(
5858
image = image,
59-
src = Rect.makeWH(srcWidth.toFloat(), srcHeight.toFloat()),
60-
dst = Rect.makeWH(outWidth.toFloat(), outHeight.toFloat()),
59+
srcLeft = 0f,
60+
srcTop = 0f,
61+
srcRight = srcWidth.toFloat(),
62+
srcBottom = srcHeight.toFloat(),
63+
dstLeft = 0f,
64+
dstTop = 0f,
65+
dstRight = outWidth.toFloat(),
66+
dstBottom = outHeight.toFloat(),
67+
samplingMode = SamplingMode.DEFAULT,
68+
paint = null,
69+
strict = false,
6170
)
6271
}
6372
return bitmap

coil-network-cache-control/api/coil-network-cache-control.klib.api

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Klib ABI Dump
2-
// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, wasmJs]
2+
// Targets: [iosArm64, iosSimulatorArm64, js, linuxArm64, linuxX64, macosArm64, wasmJs]
33
// Rendering settings:
44
// - Signature version: 2
55
// - Show manifest properties: true

coil-network-core/api/coil-network-core.klib.api

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Klib ABI Dump
2-
// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, wasmJs]
2+
// Targets: [iosArm64, iosSimulatorArm64, js, linuxArm64, linuxX64, macosArm64, wasmJs]
33
// Rendering settings:
44
// - Signature version: 2
55
// - Show manifest properties: true

0 commit comments

Comments
 (0)