pachli-android/plugins/markdown2resource
renovate[bot] 1deaa2c1ff
chore(deps): update kotlin (#509)
[![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

- [#&#8203;1708](https://togithub.com/google/ksp/issues/1708)
`SymbolProcessorEnvironment.kspVersion`
- [#&#8203;1707](https://togithub.com/google/ksp/issues/1707)
`CodeGenerator.associateWithFunctions` and
`CodeGenerator.associateWithProperties`

##### Issues fixed in KSP2

- [#&#8203;1691](https://togithub.com/google/ksp/issues/1691)
IllegalStateException: Value type not found for value
- [#&#8203;1719](https://togithub.com/google/ksp/issues/1719) The order
of symbols returned from Resolver.getSymbolsWithAnnotation() is
different
- [#&#8203;1718](https://togithub.com/google/ksp/issues/1718) Getting
packageName of Kotlin types returns empty String
- [#&#8203;1721](https://togithub.com/google/ksp/issues/1721)
KSAnnotation packageName is an empty String for a type from a different
module
- [#&#8203;1722](https://togithub.com/google/ksp/issues/1722)
Resolver.getDeclarationsFromPackage() returns declarations from the
default package when passing in an unknown package
- [#&#8203;1717](https://togithub.com/google/ksp/issues/1717)
Resolver.getJvmName() returns different results for annotation args
- [#&#8203;1725](https://togithub.com/google/ksp/issues/1725)
asMemberOf() throws exception with a generic type without arguments
- [#&#8203;1728](https://togithub.com/google/ksp/issues/1728)
ClassCastException when calling KSType.replace() with empty list
- [#&#8203;1713](https://togithub.com/google/ksp/issues/1713)
NoClassDefFoundError for LZ4Factory when trying KSP2
- [#&#8203;1665](https://togithub.com/google/ksp/issues/1665)
NoClassDefFound in ksp.useKSP2=true mode
- [#&#8203;1733](https://togithub.com/google/ksp/issues/1733) ABI
incompatibility with kotlin-compiler-embeddable in 2.0.0-Beta4
- [#&#8203;1714](https://togithub.com/google/ksp/issues/1714) Generated
resources are not added to KotlinCompilation inputs
- [#&#8203;1747](https://togithub.com/google/ksp/issues/1747)
isCompanionObject is false for companion objects from KOTLIN_LIB
- [#&#8203;1743](https://togithub.com/google/ksp/issues/1743) Incorrect
type parameter variances
- [#&#8203;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

- [#&#8203;1712](https://togithub.com/google/ksp/issues/1712) Analysis
API artifacts have the wrong common-deps dependency
- [#&#8203;1775](https://togithub.com/google/ksp/issues/1775) 1.0.18
creates circular dependencies with kapt tasks
- [#&#8203;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

- [#&#8203;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>
2024-03-14 15:58:54 +01:00
..
src/main/kotlin/app/pachli/plugins/markdown2resource refactor: Modularise "about" activities (#405) 2024-02-02 15:14:31 +01: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 (#509) 2024-03-14 15:58:54 +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.