mirror of
https://github.com/ReVanced/revanced-library.git
synced 2026-01-12 06:16:18 +00:00
Compare commits
2 Commits
v3.0.0
...
v3.0.1-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
efc72cdc55 | ||
|
|
737e272481 |
@@ -1,3 +1,10 @@
|
||||
## [3.0.1-dev.1](https://github.com/ReVanced/revanced-library/compare/v3.0.0...v3.0.1-dev.1) (2024-08-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Serialize compatible packages as a map instead of a set of pairs. ([737e272](https://github.com/ReVanced/revanced-library/commit/737e272481fe3b0b4c89233d139b5e657a0c1de4))
|
||||
|
||||
# [3.0.0](https://github.com/ReVanced/revanced-library/compare/v2.3.0...v3.0.0) (2024-08-06)
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
version = 3.0.0
|
||||
version = 3.0.1-dev.1
|
||||
#Gradle
|
||||
org.gradle.jvmargs = -Xmx2048M -Dfile.encoding=UTF-8 -Dkotlin.daemon.jvm.options="-Xmx2048M"
|
||||
org.gradle.caching = true
|
||||
|
||||
@@ -1,14 +1,19 @@
|
||||
package app.revanced.library
|
||||
|
||||
import app.revanced.patcher.patch.*
|
||||
import kotlinx.serialization.*
|
||||
import app.revanced.patcher.patch.Option
|
||||
import app.revanced.patcher.patch.Patch
|
||||
import app.revanced.patcher.patch.VersionName
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.KSerializer
|
||||
import kotlinx.serialization.builtins.*
|
||||
import kotlinx.serialization.descriptors.buildClassSerialDescriptor
|
||||
import kotlinx.serialization.descriptors.element
|
||||
import kotlinx.serialization.encoding.Decoder
|
||||
import kotlinx.serialization.encoding.Encoder
|
||||
import kotlinx.serialization.encoding.encodeStructure
|
||||
import kotlinx.serialization.json.*
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlinx.serialization.json.encodeToStream
|
||||
import kotlinx.serialization.serializer
|
||||
import java.io.OutputStream
|
||||
|
||||
private class PatchSerializer : KSerializer<Patch<*>> {
|
||||
@@ -17,7 +22,7 @@ private class PatchSerializer : KSerializer<Patch<*>> {
|
||||
element<String?>("description")
|
||||
element<Boolean>("use")
|
||||
element<List<String>>("dependencies")
|
||||
element<Set<Package>?>("compatiblePackages")
|
||||
element<Map<PackageName, Set<VersionName>?>?>("compatiblePackages")
|
||||
element("options", OptionSerializer.descriptor)
|
||||
}
|
||||
|
||||
@@ -52,8 +57,8 @@ private class PatchSerializer : KSerializer<Patch<*>> {
|
||||
encodeNullableSerializableElement(
|
||||
descriptor,
|
||||
4,
|
||||
SetSerializer(PairSerializer(String.serializer(), SetSerializer(String.serializer()).nullable)),
|
||||
value.compatiblePackages,
|
||||
MapSerializer(String.serializer(), SetSerializer(String.serializer()).nullable),
|
||||
value.compatiblePackages?.associate { (packageName, versions) -> packageName to versions },
|
||||
)
|
||||
encodeSerializableElement(
|
||||
descriptor,
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package app.revanced.library
|
||||
|
||||
import app.revanced.patcher.patch.*
|
||||
import app.revanced.patcher.patch.booleanOption
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.patch.floatsOption
|
||||
import app.revanced.patcher.patch.stringOption
|
||||
import kotlinx.serialization.json.*
|
||||
import java.io.ByteArrayOutputStream
|
||||
import kotlin.test.Test
|
||||
@@ -33,7 +36,7 @@ class SerializationTest {
|
||||
|
||||
assert(deserializedPatch["name"]!!.jsonPrimitive.content == "Test patch")
|
||||
|
||||
assert(deserializedPatch["compatiblePackages"]!!.jsonArray.size == 2) {
|
||||
assert(deserializedPatch["compatiblePackages"]!!.jsonObject.size == 2) {
|
||||
"The patch should be compatible with two packages."
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user