Skip to content

Commit

Permalink
Merge 3.x into main. (#1942)
Browse files Browse the repository at this point in the history
* Change package from coil -> coil3.

* Revert changes to the changelog.

* Increase minsdk for coil-benchmark.

* Update POM.

* Dump API.

* Adjust naming.

* Fix coil-test compilation.

* Tweak samples.

* Migrate memory cache tests to common.

* Commonize more tests.

* Fix class name clashes.

* Fix manifest names.

* Fix test compilation.

* Fix incorrect crossfade configuration.

* More test fixes.

* Migrate a test to common.

* Fix spotless.

* Fix benchmark module compilation.

* Add JS resources impl.

* Build fixes.

* Improve test.

* Link bug ticket.

* Formatting.

* Test fixes.

* Fix test compilation.

* Use context global function in tests.

* Fix baseline profile and include coroutines and okio rules.

* Fix test.

* Test fixes.

* Fix instrumentation tests.

* Fix remaining tests.

* Add jsMain to coil-sample-compose.

* Tweak error message.

* Attempt to downgrade webpack.

* Formatting.

* Add work-around for Okio JS test issue.

* Migrate interceptor tests to common.

* Remove function usage.

* Remove obselete test.

* Tweak.

* Add fake disk cache to tests.

* Fix some NetworkFetcher tests.

* Fix more network tests.

* Fix test.

* Ignore test.

* Remove equals/hashCode overloads from decoder implementations.

* Improve Okio JS workaround.

* Bump dependencies.

* Add missing bundles.

* Rename coil-base -> coil-core and coil-compose-base coil-compose-core to align with Ktor, Coroutines, androidx, etc.

* Rename coil-singleton -> coil and coil-compose-singleton -> coil-compose.

* Bump Skiko.

* Add work-around for Kotlin JS implicit dependency issue.

* Change how the ImageLoader inside coil-sample-compose is initialized.

* Change how the ImageLoader inside coil-sample-compose is initialized.

* Rename android plugin configuration extensions.

* Rename android plugin configuration extensions.

* Spotless.

* Documentation.

* Fix sample compilation.

* Use Compose viewModel function.

* Improve image loader initialization in compose-sample.

* Use atomic in SingletonImageLoader.

* Use atomic delegate.

* Move samples to subfolder.

* Remove privateModules.

* Fix R8 files.

* Move remaining private projects into an internal subfolder.

* Fix build.

* Fixes for the JS sample.

* Fix JS sample.

* Fix android asset loading.

* Wait for onWasmReady.

* Add shared resources.

* Remove unused extension.

* Fix tests.

* Update dependencies.

* Update API.

* Use extension.

* Fix Kotlin JS workaround.

* Remove deprecated method.

* Fix the iOS sample.

* Rethrow Ktor exception is response body was closed prematurely.

* Rename file.

* Add TODO.

* Formatting.

* Guard against json parsing errors in the sample.

* Change Image API.

* Only use Resources in Image.asDrawable.

* Fix tests.

* Fix screenshot tests.

* Update POM.

* Fix tests.

* Fix tests.

* Fix tests.

* Spotless.

* Test script.

* Fix tests.

* Enable snapshot publication.

* Enable snapshot publication.

* Update Github actions.

* Use Java 17.

* Fix baseline profile generation.

* Add FakeImage to coil-test.

* Commonize FakeImageLoaderEngine tests.

* Fix class name conflicts.

* Use extension.

* Enable common tests on CI.

* Disable cache for checks task.

* Increase unit test timeout.

* Cancel in progress when new changes are pushed to branch.

* Use gradle-build-action.

* Add a separate assemble job.

* Fix params.

* Remove name.

* Assemble debug on unit tests.

* Remove CACHE_VERSION.

* Increase timeout.

* Only build the sample apps.

* Limit concurrency.

* Fix the iOS scheme name.

* Don't cancel in progress on main.

* Revert.

* Improve concurrency setup.

* Use older iPhone.

* Seed cache.

* Seed the cache.

* Seed the cache.

* Seed the cache.

* Force writing to the cache.

* Increase timeout.

* Remove assembleDebug.

* Disable Gradle cache for instrumentation tests.

* Remove AVD caching.

* Remove ImageSource.fileSystem default argument.

* Update skiko.

* Remove unnecessary dependency.

* Pass callback directly.

* Adjust dependency ordering.

* Update JS file system to always throw.

* Bump dependency.

* Remove kotlinx immutable collections dependency.

* Remove unnecessary Poko modifiers.

* Use a custom Poko annotation.

* Formatting.

* Fix API file.

* Remove equals/hashCode from transformations.

* Create custom hierarchy template.

* Convert Okio JS workaround into a task.

* Improve Okio JS workaround.

* Remove suppression.

* Remove unused dependency.

* Fix dependency on kotlinx.datetime.

* WIP wasmJs support.

* Fixes.

* Fix tests.

* Fix tests.

* Ensure MemoryCache.Key is immutable.

* Update Roborazzi.

* Fix tests.

* Fix tests.

* Ensure MemoryCache.Key is immutable.

* Update Roborazzi.

* Use poko's snapshots

* Prepare for Kotlin 2.0.

* Use symlink.

* Use common configuration.

* Use Node.js canary.

* Formatting.

* Add enableComposeMetrics to assemble Compose compiler metrics.

* Formatting.

* Remove JvmName annotations.

* Remaining changes.

* Replace several internal data classes with poko.

* Defensive copy.

* Add missing @JvmField annotations.

* Apply compose plugin to coil-core to workaround.

* Revert "Use poko's snapshots"

This reverts commit e2f8c8b.

* Update API.

* Pass the image request to the image request image factories.

* Add fixes.

* Enable experimental web application in each compose module.

* Simplify JS sample.

* Simplify wasm sample.

* Remove Compose compiler from coil-core.

* Use Okio 3.7.0 stable.

* Disable wasmJs tests.

* Remove custom node version.

* Revert "Disable wasmJs tests."

This reverts commit 44e146c.

* Revert "Remove custom node version."

This reverts commit 47cbb40.

* Disable wasm tests.

* Fix stuck test.

* Add after.

* Support wasmJs. (#1954)

* WIP wasmJs support.

* Fixes.

* Fix tests.

* Fix tests.

* Ensure MemoryCache.Key is immutable.

* Update Roborazzi.

* Use poko's snapshots

* Use symlink.

* Use common configuration.

* Use Node.js canary.

* Apply compose plugin to coil-core to workaround.

* Revert "Use poko's snapshots"

This reverts commit e2f8c8b.

* Update API.

* Add fixes.

* Enable experimental web application in each compose module.

* Simplify wasm sample.

* Remove Compose compiler from coil-core.

* Use Okio 3.7.0 stable.

* Disable wasmJs tests.

* Remove custom node version.

* Revert "Disable wasmJs tests."

This reverts commit 44e146c.

* Revert "Remove custom node version."

This reverts commit 47cbb40.

* Disable wasm tests.

* Fix stuck test.

* Add after.

* Use request context passed to drawable factories.

* Extract constant.

* Fix flaky test.

* Link Dokka ticket.

* Add a flag for wasm.

* Non null ImageRequest.fileSystem.

* Convert Transformation to an abstract class.

* Re-add equals/hashCode/toString implementations to CrossfadeTransition.

* Disable wasm tests.

* Remove atomicfu from the samples.

* Remove annotation.

* Fix missing constructor.

* Use macos-13 images on CI.

* Increase Gradle RAM.

* Tweak jvmargs.

* Make coil-compose composables skippable. (#1964)

* Make coil-compose composables skippable.

* Remove target from the default equality delegate.

* Add key factory to lazy list sample.

* Optimize sample grid logic.

* Documentation and allow CacheStrategy to suspend.

* Add docs.

* Add EqualityDelegate arguments to singleton composables.

* Increase metaspace size.

* Remove cache-read-only.

* Add test for AsyncImage data changes.

* Docs.

* Docs.

* Docs.

* Update Coroutines.

* Update Kotlin to 1.9.22.

* Extract ktor wasm version.

* Use lazy configuration.

* Use Ktor ByteReadChannel.copyTo on JVM.

* Revert "Use Ktor ByteReadChannel.copyTo on JVM."

This reverts commit c813466.

* Optimize with FileChannel on JVM/Android (#1973)

* Reapply "Use Ktor ByteReadChannel.copyTo on JVM."

This reverts commit 858432a.

* Optimize with fc

---------

Co-authored-by: GG Bond <whatever@tagkong.com>

* Docs.

* Update changelog.

* Tweak SingletonImageLoader to provide a common API for Compose Multiplatform. (#1976)

* Tweak SingletonImageLoader to provide a common API for Compose Multiplatform.

* Docs.

* Fix lint.

* Change API.

* Re-enable snapshots only for main.

---------

Co-authored-by: Vladimir Dostoyevskiy <99822064+VDostoyevskiy@users.noreply.github.com>
Co-authored-by: GG Bond <whatever@tagkong.com>
  • Loading branch information
3 people committed Dec 30, 2023
1 parent 051e0b2 commit 24375db
Show file tree
Hide file tree
Showing 612 changed files with 24,457 additions and 14,567 deletions.
141 changes: 61 additions & 80 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,24 @@ on:
branches:
- main
pull_request:
concurrency:
# Limit concurrency to 1 for PRs. 'main' concurrency isn't limited.
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
CACHE_VERSION: 1 # Increment this to invalidate the cache.
CI: true
JAVA_VERSION: 20
JAVA_VERSION: 17
jobs:
checks:
name: Checks
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ env.JAVA_VERSION }}
- run: ./ci_clear_gradle_cache.sh
- uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ env.CACHE_VERSION }}-${{ hashFiles('**/**.gradle.kts', '**/gradle/wrapper/gradle-wrapper.properties', '**/libs.versions.toml') }}

- name: Check Gradle wrapper
uses: gradle/wrapper-validation-action@v1
Expand All @@ -39,52 +35,46 @@ jobs:
- name: Check binary compatibility
run: ./gradlew apiCheck || { exit_code=$?; printf "*** This PR changes Coil's public API. If this change is intentional, run './gradlew apiDump' and commit the new API files. ***"; exit $exit_code; }

- name: Check assemble
run: ./gradlew assembleDebug

unit-tests:
name: Unit tests
runs-on: ubuntu-latest
timeout-minutes: 10
runs-on: macos-13
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ env.JAVA_VERSION }}
- run: ./ci_clear_gradle_cache.sh
- uses: actions/cache@v3
- uses: gradle/gradle-build-action@v2
continue-on-error: true
timeout-minutes: 5
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ env.CACHE_VERSION }}-${{ hashFiles('**/**.gradle.kts', '**/gradle/wrapper/gradle-wrapper.properties', '**/libs.versions.toml') }}
cache-overwrite-existing: true
gradle-home-cache-cleanup: true

- name: Unit tests
run: ./gradlew testDebugUnitTest verifyPaparazziDebug verifyRoborazziDebug
run: ./gradlew allTests testDebugUnitTest verifyPaparazziDebug verifyRoborazziDebug

instrumentation-tests:
name: Instrumentation tests
runs-on: macOS-latest
timeout-minutes: 45
runs-on: macos-13
timeout-minutes: 60
strategy:
fail-fast: true
matrix:
# API 21 is flaky and times out.
api-level: [22, 26, 31]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ env.JAVA_VERSION }}
- run: ./ci_clear_gradle_cache.sh
- uses: actions/cache@v3
- uses: gradle/gradle-build-action@v2
continue-on-error: true
timeout-minutes: 5
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ env.CACHE_VERSION }}-${{ hashFiles('**/**.gradle.kts', '**/gradle/wrapper/gradle-wrapper.properties', '**/libs.versions.toml') }}
cache-overwrite-existing: true
gradle-home-cache-cleanup: true

# API 30+ emulators only have x86_64 system images.
- name: Get AVD info
Expand All @@ -93,82 +83,73 @@ jobs:
with:
api-level: ${{ matrix.api-level }}

# Retrieve the cached emulator snapshot.
- uses: actions/cache@v3
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: ${{ runner.os }}-avd-${{ env.CACHE_VERSION }}-${{ steps.avd-info.outputs.arch }}-${{ steps.avd-info.outputs.target }}-${{ matrix.api-level }}

# Create a new emulator snapshot if it isn't present in the cache.
- name: Create AVD snapshot
if: steps.avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
arch: ${{ steps.avd-info.outputs.arch }}
target: ${{ steps.avd-info.outputs.target }}
disable-animations: false
force-avd-creation: false
ram-size: 4096M
emulator-boot-timeout: 12000
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
script: echo "Generated AVD snapshot."

- name: Instrumentation tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
arch: ${{ steps.avd-info.outputs.arch }}
target: ${{ steps.avd-info.outputs.target }}
disable-animations: true
force-avd-creation: false
ram-size: 4096M
emulator-boot-timeout: 12000
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -no-snapshot-save
script: mv .github/debug.keystore ~/.android; ./gradlew connectedDebugAndroidTest

build-samples:
name: Build samples
runs-on: macos-13
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ env.JAVA_VERSION }}
- uses: gradle/gradle-build-action@v2
continue-on-error: true
timeout-minutes: 5
with:
cache-overwrite-existing: true
gradle-home-cache-cleanup: true

- name: Build samples
run: ./gradlew samples:compose:assembleDebug samples:view:assembleDebug -PenableWasm=true

- name: Build iOS app
run: xcodebuild -project samples/compose/iosApp/iosApp.xcodeproj -scheme iosApp -destination 'platform=iOS Simulator,name=iPhone 14,OS=latest'

deploy-snapshot:
name: Deploy snapshot
runs-on: ubuntu-latest
timeout-minutes: 20
runs-on: macos-13
timeout-minutes: 30
if: github.repository == 'coil-kt/coil' && github.ref == 'refs/heads/main'
needs: [checks, unit-tests, instrumentation-tests]
needs: [checks, unit-tests, instrumentation-tests, build-samples]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ env.JAVA_VERSION }}

- name: Deploy Snapshot
- name: Deploy snapshot
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
run: ./publish_remote.sh
run: ./gradlew publish -PenableWasm=true

deploy-docs:
name: Deploy docs
runs-on: ubuntu-latest
timeout-minutes: 20
if: github.repository == 'coil-kt/coil' && github.ref == 'refs/heads/main'
needs: [checks, unit-tests, instrumentation-tests]
needs: [checks, unit-tests, instrumentation-tests, build-samples]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
lfs: 'true'
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ env.JAVA_VERSION }}
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Deploy Docs
- name: Deploy docs
run: |
git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com'
pip3 install --upgrade pip && pip3 install mkdocs-material mkdocs-material-extensions mkdocs-minify-plugin
Expand Down
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,15 @@ build
*.iws
.idea

# Kotlin
.kotlin

# Docs
docs/api
site

# Xcode
*.xcuserstate

# https://github.com/square/okio/issues/1163
**/webpack.config.d/applyNodePolyfillPlugin.js
6 changes: 5 additions & 1 deletion .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 13 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## [3.0.0-alpha01] - December 30, 2023

- **New**: [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/) support. Coil is now a Kotlin Multiplatform library that supports Android, JVM, iOS, macOS, and Javascript. WASM JS is also supported via a separate `3.0.0-alpha01-wasm` artifact.
- Coil's Maven coordinates were updated to `io.coil-kt.coil3` and its imports were updated to `coil3`. This allows Coil 3 to run side by side with Coil 2 without binary compatibility issues. For example, `io.coil-kt:coil:[version]` is now `io.coil-kt.coil3:coil:[version]`.
- The `coil-base` and `coil-compose-base` artifacts were renamed to `coil-core` and `coil-compose-core` respectively to align with the naming conventions used by Coroutines, Ktor, and AndroidX.
- [For the full list of important changes, check out the upgrade guide.](https://coil-kt.github.io/coil/upgrading_to_coil3/).

## [2.5.0] - October 30, 2023

- **New**: Add `MediaDataSourceFetcher.Factory` to support decoding `MediaDataSource` implementations in `coil-video`. ([#1795](https://github.com/coil-kt/coil/pull/1795))
Expand Down Expand Up @@ -38,7 +45,7 @@

- **New**: Introduce a new `coil-test` artifact, which includes `FakeImageLoaderEngine`. This class is useful for hardcoding image loader responses to ensure consistent and synchronous (from the main thread) responses in tests. See [here](https://coil-kt.github.io/coil/testing) for more info.
- **New**: Add [baseline profiles](https://developer.android.com/topic/performance/baselineprofiles/overview) to `coil-base` (child module of `coil`) and `coil-compose-base` (child module of `coil-compose`).
- This improves Coil's runtime performance and should offer [better frame timings](https://github.com/coil-kt/coil/tree/main/coil-benchmark/benchmark_output.md) depending on how Coil is used in your app.
- This improves Coil's runtime performance and should offer [better frame timings](https://github.com/coil-kt/coil/tree/main/coil-benchmark/benchmark_output.md) depending on how Coil is used in your app.
- Fix: Fix parsing `file://` URIs with encoded data. [#1601](https://github.com/coil-kt/coil/pull/1601)
- Fix: `DiskCache` now properly computes its maximum size if passed a directory that does not exist. [#1620](https://github.com/coil-kt/coil/pull/1620)
- Make `Coil.reset` public API. [#1506](https://github.com/coil-kt/coil/pull/1506)
Expand Down Expand Up @@ -157,7 +164,7 @@ AsyncImage(

Changes from `2.0.0-rc03`:
- Convert `Dimension.Original` to be `Dimension.Undefined`.
- This changes the semantics of the non-pixel dimension slightly to fix some edge cases ([example](https://github.com/coil-kt/coil/issues/1246)) in the size system.
- This changes the semantics of the non-pixel dimension slightly to fix some edge cases ([example](https://github.com/coil-kt/coil/issues/1246)) in the size system.
- Load images with `Size.ORIGINAL` if ContentScale is None.
- Fix applying `ImageView.load` builder argument first instead of last.
- Fix not combining HTTP headers if response is not modified.
Expand Down Expand Up @@ -483,20 +490,20 @@ Coil 2.0.0 is the next major iteration of the library and has new features, perf
## [1.2.0] - April 12, 2021

- **Important**: Use an SVG's view bounds to calculate its aspect ratio in `SvgDecoder`. ([#688](https://github.com/coil-kt/coil/pull/688))
- Previously, `SvgDecoder` used an SVG's `width`/`height` elements to determine its aspect ratio, however this doesn't correctly follow the SVG specification.
- To revert to the old behaviour set `useViewBoundsAsIntrinsicSize = false` when constructing your `SvgDecoder`.
- Previously, `SvgDecoder` used an SVG's `width`/`height` elements to determine its aspect ratio, however this doesn't correctly follow the SVG specification.
- To revert to the old behaviour set `useViewBoundsAsIntrinsicSize = false` when constructing your `SvgDecoder`.
- **New**: Add `VideoFrameDecoder` to support decoding video frames from any source. ([#689](https://github.com/coil-kt/coil/pull/689))
- **New**: Support automatic SVG detection using the source's contents instead of just the MIME type. ([#654](https://github.com/coil-kt/coil/pull/654))
- **New**: Support sharing resources using `ImageLoader.newBuilder()`. ([#653](https://github.com/coil-kt/coil/pull/653))
- Importantly, this enables sharing memory caches between `ImageLoader` instances.
- Importantly, this enables sharing memory caches between `ImageLoader` instances.
- **New**: Add support for animated image transformations using `AnimatedTransformation`. ([#659](https://github.com/coil-kt/coil/pull/659))
- **New**: Add support for start/end callbacks for animated drawables. ([#676](https://github.com/coil-kt/coil/pull/676))

---

- Fix parsing EXIF data for HEIF/HEIC files. ([#664](https://github.com/coil-kt/coil/pull/664))
- Fix not using the `EmptyBitmapPool` implementation if bitmap pooling is disabled. ([#638](https://github.com/coil-kt/coil/pull/638))
- Without this fix bitmap pooling was still disabled properly, however it used a more heavyweight `BitmapPool` implementation.
- Without this fix bitmap pooling was still disabled properly, however it used a more heavyweight `BitmapPool` implementation.
- Fix case where `MovieDrawable.getOpacity` would incorrectly return transparent. ([#682](https://github.com/coil-kt/coil/pull/682))
- Guard against the default temporary directory not existing. ([#683](https://github.com/coil-kt/coil/pull/683))

Expand Down
9 changes: 5 additions & 4 deletions assemble_baseline_profile.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/bin/bash

./gradlew :coil-benchmark:pixel7Api33BenchmarkAndroidTest -P android.testInstrumentationRunnerArguments.class=coil.benchmark.BaselineProfileGenerator#generate -Dproject=view
mv coil-benchmark/build/outputs/managed_device_android_test_additional_output/benchmark/pixel7Api33/BaselineProfileGenerator_generate-baseline-prof.txt coil-base/src/main/baseline-prof.txt
./gradlew :coil-benchmark:pixel7Api33BenchmarkAndroidTest -P android.testInstrumentationRunnerArguments.class=coil.benchmark.BaselineProfileGenerator#generate -Dproject=compose
mv coil-benchmark/build/outputs/managed_device_android_test_additional_output/benchmark/pixel7Api33/BaselineProfileGenerator_generate-baseline-prof.txt coil-compose-base/src/main/baseline-prof.txt
./gradlew :internal:benchmark:pixel7Api34BenchmarkAndroidTest -P android.testInstrumentationRunnerArguments.class=coil3.benchmark.BaselineProfileGenerator#generate -Dproject=view
cp internal/benchmark/build/outputs/managed_device_android_test_additional_output/benchmark/pixel7Api34/BaselineProfileGenerator_generate-baseline-prof.txt coil-core/src/androidMain/baseline-prof.txt

./gradlew :internal:benchmark:pixel7Api34BenchmarkAndroidTest -P android.testInstrumentationRunnerArguments.class=coil3.benchmark.BaselineProfileGenerator#generate -Dproject=compose
cp internal/benchmark/build/outputs/managed_device_android_test_additional_output/benchmark/pixel7Api34/BaselineProfileGenerator_generate-baseline-prof.txt coil-compose-core/src/androidMain/baseline-prof.txt
Loading

0 comments on commit 24375db

Please sign in to comment.