mirror of
https://github.com/revanced/revanced-patches
synced 2024-06-02 11:26:20 +02:00
ac1b645ae3
* feat: auto generate list of patches in `README.md` * sample readme * formatting * add codeblocks * sample readme * run on publish * make workflow commit readme * update readme [skip ci] * update gen [skip ci] * update workflow [skip ci] * add readme to release assets * fix: spacing in title Co-authored-by: Sculas <contact@sculas.xyz> Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
56 lines
1.9 KiB
Kotlin
56 lines
1.9 KiB
Kotlin
package app.revanced.patches.meta
|
|
|
|
import java.io.File
|
|
import kotlin.io.writeText
|
|
import kotlin.collections.first
|
|
import app.revanced.patcher.util.patch.implementation.JarPatchBundle
|
|
import app.revanced.patcher.extensions.PatchExtensions.compatiblePackages
|
|
import app.revanced.patcher.extensions.PatchExtensions.patchName
|
|
import app.revanced.patcher.extensions.PatchExtensions.description
|
|
|
|
class ReadmeGenerator {
|
|
companion object {
|
|
@JvmStatic
|
|
fun main(args: Array<String>) {
|
|
//should be moved to a file?
|
|
val generalReadme =
|
|
"""
|
|
# ReVanced Patches
|
|
🧩 Official patches by ReVanced
|
|
|
|
# Patch list
|
|
""".trimIndent()
|
|
|
|
val tableHeader =
|
|
"""
|
|
| 💊 Patch | 📜 Description | 🎯 Target Package | 🏹 Target Version |
|
|
|:-----:|:-----------:|:--------------:|:----------------------:|
|
|
""".trimIndent()
|
|
|
|
val readmeFile = File("README.md")
|
|
|
|
val buildDir = File("build/libs/")
|
|
val buildJar = buildDir.listFiles().first { it.name.startsWith("revanced-patches-") && it.name.endsWith(".jar") }
|
|
|
|
val bundle = JarPatchBundle(buildJar.absolutePath).loadPatches()
|
|
|
|
val builder = StringBuilder()
|
|
|
|
builder.appendLine(generalReadme)
|
|
builder.appendLine(tableHeader)
|
|
|
|
for (patch in bundle) {
|
|
val humanName =
|
|
patch.patchName.split('-').map { it.replaceFirstChar { it.uppercase() } }.joinToString(" ")
|
|
|
|
val compatiblePackage = patch.compatiblePackages?.first()
|
|
val latestVersion = compatiblePackage?.versions?.maxByOrNull { it.replace(".", "").toInt() } ?: "all"
|
|
|
|
builder.appendLine("|$humanName|${patch.description}|`${compatiblePackage?.name}`|$latestVersion|")
|
|
}
|
|
|
|
readmeFile.writeText(builder.toString())
|
|
}
|
|
}
|
|
}
|