[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.devtools.ksp](https://goo.gle/ksp) ([source](https://togithub.com/google/ksp)) | `1.9.22-1.0.18` -> `1.9.23-1.0.19` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/1.9.23-1.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/1.9.23-1.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/1.9.22-1.0.18/1.9.23-1.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/1.9.22-1.0.18/1.9.23-1.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://goo.gle/ksp) ([source](https://togithub.com/google/ksp)) | `1.9.22-1.0.18` -> `1.9.23-1.0.19` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.23-1.0.19?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/1.9.23-1.0.19?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/1.9.22-1.0.18/1.9.23-1.0.19?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/1.9.22-1.0.18/1.9.23-1.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | org.jetbrains.kotlin.plugin.parcelize | `1.9.22` -> `1.9.23` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | org.jetbrains.kotlin.jvm | `1.9.22` -> `1.9.23` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.jvm/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.jvm/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.jvm/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.jvm/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | org.jetbrains.kotlin.android | `1.9.22` -> `1.9.23` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.android/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.android/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.android/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.android/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlin:kotlin-gradle-plugin](https://kotlinlang.org/) ([source](https://togithub.com/JetBrains/kotlin)) | `1.9.22` -> `1.9.23` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlin:kotlin-stdlib](https://kotlinlang.org/) ([source](https://togithub.com/JetBrains/kotlin)) | `1.9.22` -> `1.9.23` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-stdlib/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-stdlib/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-stdlib/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-stdlib/1.9.22/1.9.23?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> ### [`v1.9.23-1.0.19`](https://togithub.com/google/ksp/releases/tag/1.9.23-1.0.19) ##### New APIs - [#​1708](https://togithub.com/google/ksp/issues/1708) `SymbolProcessorEnvironment.kspVersion` - [#​1707](https://togithub.com/google/ksp/issues/1707) `CodeGenerator.associateWithFunctions` and `CodeGenerator.associateWithProperties` ##### Issues fixed in KSP2 - [#​1691](https://togithub.com/google/ksp/issues/1691) IllegalStateException: Value type not found for value - [#​1719](https://togithub.com/google/ksp/issues/1719) The order of symbols returned from Resolver.getSymbolsWithAnnotation() is different - [#​1718](https://togithub.com/google/ksp/issues/1718) Getting packageName of Kotlin types returns empty String - [#​1721](https://togithub.com/google/ksp/issues/1721) KSAnnotation packageName is an empty String for a type from a different module - [#​1722](https://togithub.com/google/ksp/issues/1722) Resolver.getDeclarationsFromPackage() returns declarations from the default package when passing in an unknown package - [#​1717](https://togithub.com/google/ksp/issues/1717) Resolver.getJvmName() returns different results for annotation args - [#​1725](https://togithub.com/google/ksp/issues/1725) asMemberOf() throws exception with a generic type without arguments - [#​1728](https://togithub.com/google/ksp/issues/1728) ClassCastException when calling KSType.replace() with empty list - [#​1713](https://togithub.com/google/ksp/issues/1713) NoClassDefFoundError for LZ4Factory when trying KSP2 - [#​1665](https://togithub.com/google/ksp/issues/1665) NoClassDefFound in ksp.useKSP2=true mode - [#​1733](https://togithub.com/google/ksp/issues/1733) ABI incompatibility with kotlin-compiler-embeddable in 2.0.0-Beta4 - [#​1714](https://togithub.com/google/ksp/issues/1714) Generated resources are not added to KotlinCompilation inputs - [#​1747](https://togithub.com/google/ksp/issues/1747) isCompanionObject is false for companion objects from KOTLIN_LIB - [#​1743](https://togithub.com/google/ksp/issues/1743) Incorrect type parameter variances - [#​1759](https://togithub.com/google/ksp/issues/1759) IllegalStateException when getting the modifiers from properties in a Java annotation declaration ##### Issues fixed in KSP Gradle Plugin - [#​1712](https://togithub.com/google/ksp/issues/1712) Analysis API artifacts have the wrong common-deps dependency - [#​1775](https://togithub.com/google/ksp/issues/1775) 1.0.18 creates circular dependencies with kapt tasks - [#​1772](https://togithub.com/google/ksp/issues/1772) Update plugin com.google.devtools.ksp to v1.9.22-1.0.18 BUILD FAILED ##### Known issues - [#​1776](https://togithub.com/google/ksp/issues/1776) KSP2 has higher memory usage when the compile classpath is very large. </details> <details> <summary>JetBrains/kotlin (org.jetbrains.kotlin:kotlin-gradle-plugin)</summary> ### [`v1.9.23`](https://togithub.com/JetBrains/kotlin/releases/tag/v1.9.23): Kotlin 1.9.23 ##### 1.9.23 ##### Apple Ecosystem - [`KT-65542`](https://youtrack.jetbrains.com/issue/KT-65542) Cinterop tasks fails if Xcode 15.3 is used ##### Backend. Wasm - [`KT-64486`](https://youtrack.jetbrains.com/issue/KT-64486) Kotlin/Wasm/WASI exported function callback for coroutines support ##### Compiler - [`KT-53478`](https://youtrack.jetbrains.com/issue/KT-53478) Could not load module <Error module> - [`KT-66044`](https://youtrack.jetbrains.com/issue/KT-66044) JDK's new API is used over Kotlin's SDK functions - [`KT-64640`](https://youtrack.jetbrains.com/issue/KT-64640) Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections - [`KT-65441`](https://youtrack.jetbrains.com/issue/KT-65441) K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfaces - [`KT-65634`](https://youtrack.jetbrains.com/issue/KT-65634) K/N: data race during monolithic cache creation - [`KT-53109`](https://youtrack.jetbrains.com/issue/KT-53109) CompilationErrorException generateUnboundSymbolsAsDependencies with builder inference and lambdas - [`KT-52757`](https://youtrack.jetbrains.com/issue/KT-52757) Type inference for builders fails if inferred from a function ##### Tools. Gradle - [`KT-65792`](https://youtrack.jetbrains.com/issue/KT-65792) Add JSON build report - [`KT-65091`](https://youtrack.jetbrains.com/issue/KT-65091) Update compiler metrics in build reports - [`KT-62490`](https://youtrack.jetbrains.com/issue/KT-62490) KGP dropping resource directories ##### Tools. Gradle. JS - [`KT-64119`](https://youtrack.jetbrains.com/issue/KT-64119) K/JS: Migrate package manager from Yarn onto NPM - [`KT-64561`](https://youtrack.jetbrains.com/issue/KT-64561) K/JS tests are not executed after upgrade to 1.9.22 ##### Tools. Gradle. Multiplatform - [`KT-65954`](https://youtrack.jetbrains.com/issue/KT-65954) commonTest dependencies affect commoMainMetadata compilation ##### Tools. Gradle. Native - [`KT-64573`](https://youtrack.jetbrains.com/issue/KT-64573) Default value for `produceUnpackedKlib` was not provided </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://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/pachli/pachli-android). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIzOC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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:
- You have defined
debug
andrelease
build types, two tasks will be created,markdown2resourceDebug
andmarkdown2resourceRelease
. - You have defined
debug
andrelease
build types anddemo
andfull
product flavours, four tasks will be created,markdown2resourceDemoDebug
,markdown2resourceDemoRelease
,markdown2resourceFullDebug
,markdown2resourceFullRelease
.