pachli-android/plugins/markdown2resource
renovate[bot] b500379fc9
chore(deps): update kotlin (#290)
[![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.20-1.0.14` ->
`1.9.22-1.0.16` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/1.9.22-1.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/1.9.22-1.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/1.9.20-1.0.14/1.9.22-1.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/1.9.20-1.0.14/1.9.22-1.0.16?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.20-1.0.14` ->
`1.9.22-1.0.16` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.22-1.0.16?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.22-1.0.16?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.20-1.0.14/1.9.22-1.0.16?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.20-1.0.14/1.9.22-1.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.plugin.parcelize | `1.9.20` -> `1.9.22` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.22?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.22?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.20/1.9.22?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.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.jvm | `1.9.20` -> `1.9.22` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.jvm/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.jvm/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.jvm/1.9.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.jvm/1.9.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.android | `1.9.20` -> `1.9.22` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.android/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.android/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.android/1.9.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.android/1.9.20/1.9.22?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.20` -> `1.9.22`
|
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.22?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.22?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.20/1.9.22?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.20/1.9.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.jetbrains.kotlin:kotlin-stdlib](https://kotlinlang.org/)
([source](https://togithub.com/JetBrains/kotlin)) | `1.9.20` -> `1.9.22`
|
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-stdlib/1.9.22?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.22?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.20/1.9.22?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.20/1.9.22?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.22-1.0.16`](https://togithub.com/google/ksp/releases/tag/1.9.22-1.0.16)

[Compare
Source](https://togithub.com/google/ksp/compare/1.9.21-1.0.16...1.9.22-1.0.16)

This is KSP 1.0.16 for Kotlin compiler 1.9.22

###
[`v1.9.21-1.0.16`](https://togithub.com/google/ksp/releases/tag/1.9.21-1.0.16)

[Compare
Source](https://togithub.com/google/ksp/compare/1.9.21-1.0.15...1.9.21-1.0.16)

##### Issue fixed

[#&#8203;1653](https://togithub.com/google/ksp/issues/1653) KSP
1.9.21-1.0.15 leaking memory and causing OOMs

###
[`v1.9.21-1.0.15`](https://togithub.com/google/ksp/releases/tag/1.9.21-1.0.15)

[Compare
Source](https://togithub.com/google/ksp/compare/1.9.20-1.0.14...1.9.21-1.0.15)

This is a hot fix to
[#&#8203;1591](https://togithub.com/google/ksp/issues/1591) where
multiple KMP projects were affected.

##### Issues Fixed / PRs Merged

[#&#8203;1591](https://togithub.com/google/ksp/issues/1591) Error:
Rewrite at slice LEXICAL_SCOPE key: ANNOTATION_ENTRY old value
[#&#8203;1612](https://togithub.com/google/ksp/issues/1612) Filter out
the `-progressive` compiler flag in KSP tasks
[#&#8203;1614](https://togithub.com/google/ksp/issues/1614) Revert back
to the non-thread-local KSP compiler plugin implementation.

</details>

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

###
[`v1.9.22`](https://togithub.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#1922)

##### JavaScript

- [`KT-63719`](https://youtrack.jetbrains.com/issue/KT-63719) KJS: Test
results ignored for ES module kind
- [`KT-63808`](https://youtrack.jetbrains.com/issue/KT-63808)
compileTestDevelopmentExecutableKotlinJs failed in
JsIntrinsicTransformers

##### Native

- [`KT-64139`](https://youtrack.jetbrains.com/issue/KT-64139) Weird bug
with while and coroutine in Kotlin Native
- [`KT-63471`](https://youtrack.jetbrains.com/issue/KT-63471)
linkDebugTestIosX64 Failed to build cache: NoSuchFileException
bitcode_deps
- [`KT-63789`](https://youtrack.jetbrains.com/issue/KT-63789) Native:
Incremental compilation problem with compose

##### Tools. CLI

- [`KT-64485`](https://youtrack.jetbrains.com/issue/KT-64485) CLI: cache
and optimize parsing of command-line arguments

##### Tools. Gradle

- [`KT-63990`](https://youtrack.jetbrains.com/issue/KT-63990) "Cannot
query the value of property 'buildFlowServiceProperty' because it has no
value available" with Isolated Projects

##### Tools. Gradle. Native

- [`KT-63363`](https://youtrack.jetbrains.com/issue/KT-63363) Kotlin
Gradle Plugin: `KotlinNativeHostSpecificMetadataArtifact` breaks
configuration cache, implicitly includes output file as configuration
cache input
- [`KT-63742`](https://youtrack.jetbrains.com/issue/KT-63742) Gradle
wrongly caches Kotlin/Native compiler flags

##### Tools. JPS

- [`KT-64305`](https://youtrack.jetbrains.com/issue/KT-64305) Kotlin JPS
builder requests chunk rebuild with graph implementation
- [`KT-64112`](https://youtrack.jetbrains.com/issue/KT-64112) Avoid
using IJ's JPS mappings in Kotlin JPS tests
- [`KT-63799`](https://youtrack.jetbrains.com/issue/KT-63799) Make
plugin classpath serialization path agnostic

###
[`v1.9.21`](https://togithub.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#1921)

##### Compiler

- [`KT-62885`](https://youtrack.jetbrains.com/issue/KT-62885) Introduce
a language feature entry for expect actual classes for easier
configuration of MPP projects
- [`KT-63081`](https://youtrack.jetbrains.com/issue/KT-63081) Optimize
new native caches: CachedLibraries.computeVersionedCacheDirectory()

##### Docs & Examples

- [`KT-55619`](https://youtrack.jetbrains.com/issue/KT-55619) Document
`String.format` function

##### IDE. Gradle Integration

- [`KT-62877`](https://youtrack.jetbrains.com/issue/KT-62877) Artifact
files collecting for project configuration was finished. Resolution for
configuration configuration X will be skipped

##### IDE. Gradle. Script

- [`KT-60813`](https://youtrack.jetbrains.com/issue/KT-60813) Scripts:
NoSuchMethodError: 'void org.slf4j.Logger.error(java.lang.String,
java.lang.Object)' when dependency uses Slf4j API

##### JavaScript

- [`KT-60785`](https://youtrack.jetbrains.com/issue/KT-60785) KJS:
Destructured value class in suspend function fails with Uncaught
TypeError: can't convert to primitive type error
- [`KT-63207`](https://youtrack.jetbrains.com/issue/KT-63207) KMP / JS:
"TypeError: \<mangled_name> is not a function" with 1.9.20
- [`KT-62778`](https://youtrack.jetbrains.com/issue/KT-62778)
package.json "main" field has .js extension when the result files have
.mjs extension
- [`KT-61795`](https://youtrack.jetbrains.com/issue/KT-61795) KJS:
Incremental Cache is not invalidated if `useEsClasses` compiler argument
was changed
- [`KT-61957`](https://youtrack.jetbrains.com/issue/KT-61957) KJS:
"Uncaught ReferenceError: entries is not defined" caused by enum class
with `@JsExport` and Enum.entries call
- [`KT-62444`](https://youtrack.jetbrains.com/issue/KT-62444) KJS with
commonJS modules should re-export in 1.9.20
- [`KT-63184`](https://youtrack.jetbrains.com/issue/KT-63184) KJS /
Serialization: JsExport on serializable interface creates erroneous
TypeScript
- [`KT-62190`](https://youtrack.jetbrains.com/issue/KT-62190) KJS:
"IllegalStateException: Expect to have either super call or partial
linkage stub inside constructor" caused by Compose and useEsModules()
- [`KT-58685`](https://youtrack.jetbrains.com/issue/KT-58685) KJS:
"IllegalStateException: Not locked" cused by "unlock" called twice

##### Klibs

- [`KT-62515`](https://youtrack.jetbrains.com/issue/KT-62515) Interop
klib of concurrent version is not accepted when building dependent
project: "The library versions don't match"

##### Tools. CLI

- [`KT-63139`](https://youtrack.jetbrains.com/issue/KT-63139) Incorrect
kotlin implementation version (1.9.255-SNAPSHOT) in metadata info

##### Tools. Gradle

- [`KT-63499`](https://youtrack.jetbrains.com/issue/KT-63499) Gradle:
Source sets conventions are still registered

##### Tools. Gradle. JS

- [`KT-59523`](https://youtrack.jetbrains.com/issue/KT-59523) MPP / KJS:
ESM modules uses incorrect file extension on package.json (.mjs)

##### Tools. Gradle. Kapt

- [`KT-63366`](https://youtrack.jetbrains.com/issue/KT-63366) Kapt
processing fails with custom source sets

##### Tools. Gradle. Multiplatform

- [`KT-32608`](https://youtrack.jetbrains.com/issue/KT-32608) Create
JUnit-XML result file in multiplatform gradle build
- [`KT-63315`](https://youtrack.jetbrains.com/issue/KT-63315) Wasm
gradle plugin DSL is invalid for parameterless wasmWasi method
- [`KT-63338`](https://youtrack.jetbrains.com/issue/KT-63338) \[KMP]
metadata task fails to find cinterop classes from dependency projects
- [`KT-63044`](https://youtrack.jetbrains.com/issue/KT-63044) KGP:
Multiplatform - 8.4 configuration cache support
- [`KT-63011`](https://youtrack.jetbrains.com/issue/KT-63011) Apple
Framework Artifacts is not connected to KotlinNativeTask
- [`KT-62601`](https://youtrack.jetbrains.com/issue/KT-62601)
AS/IntelliJ exception after updating a KMP project with a macos target
to Kotlin 1.9.20-RC

##### Tools. Incremental Compile

- [`KT-61590`](https://youtrack.jetbrains.com/issue/KT-61590) K2/KMP:
Expect actual matching is breaking on the incremental compilation

##### Tools. JPS

- [`KT-63594`](https://youtrack.jetbrains.com/issue/KT-63594)
ClassCastException in JPS statistics
- [`KT-63651`](https://youtrack.jetbrains.com/issue/KT-63651) Fix NPE in
Kotlin JPS after enabling graph implementation of JPS

##### Tools. Kapt

- [`KT-57389`](https://youtrack.jetbrains.com/issue/KT-57389) KAPT3 uses
a Javac API for JCImport which will break in JDK 21
- [`KT-60507`](https://youtrack.jetbrains.com/issue/KT-60507) Kapt:
"IllegalAccessError: superclass access check failed" using java 21
toolchain

##### Tools. Scripts

- [`KT-54819`](https://youtrack.jetbrains.com/issue/KT-54819) Scripts:
Not able to use slf4j in .main.kts
- [`KT-61727`](https://youtrack.jetbrains.com/issue/KT-61727) Scripts:
Maven artifacts resolution is slow

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuMTAzLjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 12:28:04 +01:00
..
src/main/kotlin/app/pachli/plugins/markdown2resource feat: Embed the privacy policy in the app (#139) 2023-10-03 12:56:30 +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 (#290) 2024-01-08 12:28:04 +01: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.