pachli-android/plugins/markdown2resource
renovate[bot] 795f239d67
chore(deps): update kotlin (#947)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://redirect.github.com/google/ksp)) | `2.0.20-1.0.24` ->
`2.0.21-1.0.25` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/2.0.20-1.0.24/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/2.0.20-1.0.24/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://goo.gle/ksp)
([source](https://redirect.github.com/google/ksp)) | `2.0.20-1.0.24` ->
`2.0.21-1.0.25` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.20-1.0.24/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.20-1.0.24/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.plugin.parcelize | `2.0.20` -> `2.0.21` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.plugin.parcelize/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.plugin.parcelize/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.plugin.parcelize/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.plugin.parcelize/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.jvm | `2.0.20` -> `2.0.21` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.jvm/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.jvm/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.jvm/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.jvm/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.android | `2.0.20` -> `2.0.21` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.android/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.android/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.android/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.android/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://kotlinlang.org/)
([source](https://redirect.github.com/JetBrains/kotlin)) | `2.0.20` ->
`2.0.21` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.jetbrains.kotlin:kotlin-stdlib](https://kotlinlang.org/)
([source](https://redirect.github.com/JetBrains/kotlin)) | `2.0.20` ->
`2.0.21` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-stdlib/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-stdlib/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-stdlib/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-stdlib/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://redirect.github.com/Kotlin/kotlinx.coroutines)
| `1.8.1` -> `1.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-test](https://redirect.github.com/Kotlin/kotlinx.coroutines)
| `1.8.1` -> `1.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-android](https://redirect.github.com/Kotlin/kotlinx.coroutines)
| `1.8.1` -> `1.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>google/ksp (com.google.devtools.ksp)</summary>

###
[`v2.0.21-1.0.25`](https://redirect.github.com/google/ksp/releases/tag/2.0.21-1.0.25)

[Compare
Source](https://redirect.github.com/google/ksp/compare/2.0.20-1.0.25...2.0.21-1.0.25)

#### What's Changed

- UPDATE_KOTLIN_VERSION: 2.0.21 by
[@&#8203;ting-yuan](https://redirect.github.com/ting-yuan) in
[https://github.com/google/ksp/pull/2145](https://redirect.github.com/google/ksp/pull/2145)

**Full Changelog**:
https://github.com/google/ksp/compare/2.0.21-RC-1.0.25...2.0.21-1.0.25

###
[`v2.0.20-1.0.25`](https://redirect.github.com/google/ksp/releases/tag/2.0.20-1.0.25)

[Compare
Source](https://redirect.github.com/google/ksp/compare/2.0.20-1.0.24...2.0.20-1.0.25)

#### Bugs Fixed

Inlined JVM name is not correct
[#&#8203;1493](https://redirect.github.com/google/ksp/issues/1493)
\[KSP2] NullPointerException when getting name of nested annotation
[#&#8203;1963](https://redirect.github.com/google/ksp/issues/1963)
\[KSP2] The status was unresolved for FirSimpleFunctionImpl
[#&#8203;1938](https://redirect.github.com/google/ksp/issues/1938)
\[KSP2] Class values in type annotations get resolved to error type
[#&#8203;1933](https://redirect.github.com/google/ksp/issues/1933)
\[KSP2] Comparing KSType leads to exception
[#&#8203;1918](https://redirect.github.com/google/ksp/issues/1918)
\[KSP2] Can't find values in repeatable annotations
[#&#8203;1883](https://redirect.github.com/google/ksp/issues/1883)
incremental: aggregating outputs should always be invalidated
[#&#8203;2027](https://redirect.github.com/google/ksp/issues/2027)
\[KSP2] Not yet implemented: KSValueArgumentLiteImpl.getLocation
[#&#8203;2048](https://redirect.github.com/google/ksp/issues/2048)
\[KSP2] Not yet implemented: KSValueArgumentImpl.getParent
[#&#8203;2049](https://redirect.github.com/google/ksp/issues/2049)
getSymbolsWithAnnotation returns copy function from data class
[#&#8203;1996](https://redirect.github.com/google/ksp/issues/1996)
\[KSP2] Annotations got use-site target when there are none specified
[#&#8203;1882](https://redirect.github.com/google/ksp/issues/1882)
getting null pointer exception
[#&#8203;1929](https://redirect.github.com/google/ksp/issues/1929)
\[KSP2] Calling getDeclarationsInSourceOrder throws
KotlinIllegalStateExceptionWithAttachments
[#&#8203;1930](https://redirect.github.com/google/ksp/issues/1930)
\[KSP2] A failure occurred while executing
com.google.devtools.ksp.gradle.KspAAWorkerAction
[#&#8203;1941](https://redirect.github.com/google/ksp/issues/1941)
KSP2: Resolver.getJvmNames doesn't work for inline and internal classes
[#&#8203;1640](https://redirect.github.com/google/ksp/issues/1640)
kspCaches don't work together with Gradle build cache
[#&#8203;2042](https://redirect.github.com/google/ksp/issues/2042)

#### Contributors

Thank you so much! [@&#8203;ansman](https://redirect.github.com/ansman),
[@&#8203;kuanyingchou](https://redirect.github.com/kuanyingchou)

**Full Changelog**:
https://github.com/google/ksp/compare/2.0.20-1.0.24...2.0.20-1.0.25

</details>

<details>
<summary>JetBrains/kotlin
(org.jetbrains.kotlin:kotlin-gradle-plugin)</summary>

###
[`v2.0.21`](https://redirect.github.com/JetBrains/kotlin/releases/tag/v2.0.21):
Kotlin 2.0.21

##### Changelog

##### Apple Ecosystem

- [`KT-69093`](https://youtrack.jetbrains.com/issue/KT-69093) Xcode 16
support in Kotlin

##### Backend. Native. Debug

- [`KT-71374`](https://youtrack.jetbrains.com/issue/KT-71374) lldb: step
out breaks breaking in Xcode 16

##### Compiler

##### Fixes

- [`KT-69735`](https://youtrack.jetbrains.com/issue/KT-69735) K2: Static
fields are missing from the declaration list of corresponding IrClass
for java class
- [`KT-71122`](https://youtrack.jetbrains.com/issue/KT-71122) Regression
in Kotlin Compiler 2.0 causing NPE in the runtime
- [`KT-70931`](https://youtrack.jetbrains.com/issue/KT-70931) K2 /
Scripts: "cannot convert IrExpression to ConstantValue" when using
function annotation
- [`KT-70584`](https://youtrack.jetbrains.com/issue/KT-70584) K2:
"IllegalStateException: flow for PostponedLambdaExitNode not initialized
- traversing nodes in wrong order?"
- [`KT-70808`](https://youtrack.jetbrains.com/issue/KT-70808) K2: "node
has already been visited" with anonymous object in dead code
- [`KT-69985`](https://youtrack.jetbrains.com/issue/KT-69985) K2:
Classifier declarations from root package are resolved without imports
in non-root packages
- [`KT-70683`](https://youtrack.jetbrains.com/issue/KT-70683) K2:
Internal compiler error in IrFakeOverrideSymbolBase.getOwner
- [`KT-70901`](https://youtrack.jetbrains.com/issue/KT-70901) False
positive Public-API inline function cannot access non-public-API
property accessor
- [`KT-70930`](https://youtrack.jetbrains.com/issue/KT-70930) K2: Java
annotations not present on ENUM_ENTRY IR elements
- [`KT-70194`](https://youtrack.jetbrains.com/issue/KT-70194) K2 IDE:
exception on a very red file
- [`KT-69399`](https://youtrack.jetbrains.com/issue/KT-69399) Native:
IllegalStateException: "Failed to build cache"

##### Compose compiler

##### Fixes

- [`b/329477544`](https://issuetracker.google.com/issues/329477544)
Force open / overridden Composable functions to be non-restartable.
- [`b/361652128`](https://issuetracker.google.com/issues/361652128)
Disable live literal transform if the corresponding flag is disabled

##### IR. Actualizer

- [`KT-70894`](https://youtrack.jetbrains.com/issue/KT-70894) IR crash.
Unprocessed `IrFunctionFakeOverrideSymbol` when actualize to Java

##### IR. Tree

- [`KT-71191`](https://youtrack.jetbrains.com/issue/KT-71191)
SymbolTable: Check if the provided signature is public before adding a
symbol to the SymbolTable

##### Native. Build Infrastructure

- [`KT-71485`](https://youtrack.jetbrains.com/issue/KT-71485) K/N
runtime parts don't build due to \_Float16 issues on x86\_64 macOS

##### Native. C Export

- [`KT-69507`](https://youtrack.jetbrains.com/issue/KT-69507) LLVM 11
clang with Xcode 16 headers: standard c++ headers

##### Native. C and ObjC Import

- [`KT-71029`](https://youtrack.jetbrains.com/issue/KT-71029)
Investigate why stdarg.h declarations leak into testModuleA

##### Native. Platform Libraries

- [`KT-70566`](https://youtrack.jetbrains.com/issue/KT-70566) LLVM 11
clang with Xcode 16 headers: 'sys/cdefs.h' file not found
- [`KT-71624`](https://youtrack.jetbrains.com/issue/KT-71624) Eliminate
remaining UIKit/AppKit removed signatures
- [`KT-70031`](https://youtrack.jetbrains.com/issue/KT-70031) Rebuild
platform libraries in 2.0.21 with Xcode 16

##### Native. Testing

- [`KT-70603`](https://youtrack.jetbrains.com/issue/KT-70603) C++ with
-fmodules: cyclic dependency in module 'std': std -> \_wctype ->
\__wctype -> std in dev llvm toolchains

##### Tools. CLI. Native

- [`KT-71262`](https://youtrack.jetbrains.com/issue/KT-71262)
KotlinNativeLink tasks fetching from network despite
-Xoverride-konan-properties=dependenciesUrl= being set

##### Tools. Compiler Plugins

- [`KT-71038`](https://youtrack.jetbrains.com/issue/KT-71038)
PowerAssert: Constant on RHS of elvis operator leads to compiler crash

##### Tools. Daemon

- [`KT-35381`](https://youtrack.jetbrains.com/issue/KT-35381) Get rid of
the native-platform usage in kotlin compiler

##### Tools. Gradle. Multiplatform

- [`KT-71444`](https://youtrack.jetbrains.com/issue/KT-71444) Certain
POMs produced by Kotlin 2.0.20 cannot be consumed by KMP projects with
Android targets
- [`KT-70700`](https://youtrack.jetbrains.com/issue/KT-70700) Gradle
8.10: The value for task ':commonizeNativeDistribution' property
'kotlinNativeBundleBuildService' cannot be changed any further
- [`KT-71396`](https://youtrack.jetbrains.com/issue/KT-71396) Gradle
client side JVM explodes with OOM due to xcodebuild logs

##### Tools. Gradle. Native

- [`KT-71419`](https://youtrack.jetbrains.com/issue/KT-71419) Light
bundle KGP IT run against a stable K/N version

##### Tools. JPS

- [`KT-71450`](https://youtrack.jetbrains.com/issue/KT-71450) Constant
build failure: com.intellij.util.io.ClosedStorageException: storage is
already closed

</details>

<details>
<summary>Kotlin/kotlinx.coroutines
(org.jetbrains.kotlinx:kotlinx-coroutines-play-services)</summary>

###
[`v1.9.0`](https://redirect.github.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-190)

[Compare
Source](https://redirect.github.com/Kotlin/kotlinx.coroutines/compare/1.8.1...1.9.0)

##### Features

- Wasm/WASI target support
([#&#8203;4064](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4064)).
Thanks,
[@&#8203;igoriakovlev](https://redirect.github.com/igoriakovlev)!
- `limitedParallelism` now optionally accepts the name of the dispatcher
view for easier debugging
([#&#8203;4023](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4023)).
- No longer initialize `Dispatchers.IO` on the JVM when other standard
dispatchers are accessed
([#&#8203;4166](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4166)).
Thanks,
[@&#8203;metalhead8816](https://redirect.github.com/metalhead8816)!
- Introduced the `Flow<T>.chunked(size: Int): Flow<List<T>>` operator
that groups emitted values into groups of the given size
([#&#8203;1290](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1290)).
- Closeable dispatchers are instances of `AutoCloseable` now
([#&#8203;4123](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4123)).

##### Fixes

- Calling `hasNext` on a `Channel`'s iterator is idempotent
([#&#8203;4065](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4065)).
Thanks, [@&#8203;gitpaxultek](https://redirect.github.com/gitpaxultek)!
- `CoroutineScope()` created without an explicit dispatcher uses
`Dispatchers.Default` on Native
([#&#8203;4074](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4074)).
Thanks, [@&#8203;whyoleg](https://redirect.github.com/whyoleg)!
- Fixed a bug that prevented non-Android `Dispatchers.Main` from
initializing when the Firebase dependency is used
([#&#8203;3914](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3914)).
- Ensured a more intuitive ordering of tasks in `runBlocking`
([#&#8203;4134](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4134)).
- Forbid casting a `Mutex` to `Semaphore`
([#&#8203;4176](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4176)).
- Worked around a stack overflow that may occur when calling
`asDeferred` on a `Future` many times
([#&#8203;4156](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4156)).

##### Deprecations and promotions

- Advanced the deprecation levels for `BroadcastChannel`-based API
([#&#8203;4197](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4197)).
- Advanced the deprecation levels for the old `kotlinx-coroutines-test`
API
([#&#8203;4198](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4198)).
- Deprecated `Job.cancelFutureOnCompletion`
([#&#8203;4173](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4173)).
- Promoted `CoroutineDispatcher.limitedParallelism` to stable
([#&#8203;3864](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3864)).
- Promoted `CoroutineStart.ATOMIC` from `ExperimentalCoroutinesApi` to
`DelicateCoroutinesApi`
([#&#8203;4169](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4169)).
- Promoted `CancellableContinuation.resume` with an `onCancellation`
lambda to stable, providing extra arguments to the lambda
([#&#8203;4088](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4088)).
- Marked the classes and interfaces that are not supposed to be
inherited from with the new `InternalForInheritanceCoroutinesApi` opt-in
([#&#8203;3770](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3770)).
- Marked the classes and interfaces inheriting from which is not stable
with the new `ExperimentalForInheritanceCoroutinesApi` opt-in
([#&#8203;3770](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3770)).

##### Other

- Kotlin was updated to 2.0
([#&#8203;4137](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4137)).
- Reworked the documentation for `CoroutineStart` and `Channel`-based
API
([#&#8203;4147](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4147),
[#&#8203;4148](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4148),
[#&#8203;4167](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4167)).
Thanks, [@&#8203;globsterg](https://redirect.github.com/globsterg)!
- Simplified the internal implementation of `Job`
([#&#8203;4053](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4053)).
-   Small tweaks, fixes, and documentation improvements.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguMTE1LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-11 17:05:04 +02:00
..
src/main/kotlin/app/pachli/plugins/markdown2resource refactor: Assorted code inspection cleanups (#985) 2024-10-07 12:38:35 +02:00
README.md feat: Embed the privacy policy in the app (#139) 2023-10-03 12:56:30 +02:00
build.gradle.kts chore(deps): update kotlin (#947) 2024-10-11 17:05:04 +02:00
gradle.properties refactor: Start creating core modules (#286) 2023-12-04 16:58:36 +01:00
settings.gradle.kts refactor: Start creating core modules (#286) 2023-12-04 16:58:36 +01:00

README.md

markdown2resource-plugin

Synopsis

Gradle plugin to convert one or more Markdown files to Java files with static constants where the Markdown has been converted to HTML. Similar (but not quite identical) to Android resources.

Example

In build.gradle:

// Install the plugin
plugins {
    id "app.pachli.plugins.markdown2resource"
}

// ...

// Configure the files to be processed
markdown2resource {
    files = [ layout.projectDirectory.file('../PRIVACY.md') ]
}

In code:

// Assume binding.privacyPolicy references a `WebView`

// The generated string constant is in the `markdownR.html` package, named
// `PRIVACY_md`. To load the content in to a WebView it must be converted to
// base64
val html = Base64.encodeToString(markdownR.html.PRIVACY_md.toByteArray(), Base64.NO_PADDING)
binding.privacyPolicy.loadData(html, "text/html", "base64")

Configuration

The markdown2resource block supports the following options.

files - a list of RegularFile in Markdown.

packageName - the package name to use for the generated resources. Default is the android.namespace of the build variant.

resourceClassName - the outer class name to use for the generated resources. Default is markdownR.

stringClassName - the inner class name to use for the generated resources. Default is html.

Tasks

The plugin creates N tasks, one for each configured build variant, named markdown2resource${variant.name.capitalized()}

For example:

  1. You have defined debug and release build types, two tasks will be created, markdown2resourceDebug and markdown2resourceRelease.
  2. You have defined debug and release build types and demo and full product flavours, four tasks will be created, markdown2resourceDemoDebug, markdown2resourceDemoRelease, markdown2resourceFullDebug, markdown2resourceFullRelease.