build tool update

kotlin 1.3.61 to 1.3.71
gradle 6.0.1 to 6.3
replase @Experimental with @OptIn
pull/41/head
cfig 5 years ago
parent ff7021e2db
commit e47b10e013
No known key found for this signature in database
GPG Key ID: B104C307F0FDABB7

@ -1,5 +1,7 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins { plugins {
id("org.jetbrains.kotlin.jvm").version("1.3.61") id("org.jetbrains.kotlin.jvm").version("1.3.71")
application application
} }
@ -31,6 +33,10 @@ application {
mainClassName = "cfig.packable.PackableLauncherKt" mainClassName = "cfig.packable.PackableLauncherKt"
} }
tasks.withType<KotlinCompile>().all {
kotlinOptions.freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn"
}
tasks { tasks {
jar { jar {
manifest { manifest {

@ -20,8 +20,8 @@ import java.util.zip.GZIPInputStream
import java.util.zip.GZIPOutputStream import java.util.zip.GZIPOutputStream
import javax.crypto.Cipher import javax.crypto.Cipher
@OptIn(ExperimentalUnsignedTypes::class)
class Helper { class Helper {
@ExperimentalUnsignedTypes
companion object { companion object {
fun joinWithNulls(vararg source: ByteArray?): ByteArray { fun joinWithNulls(vararg source: ByteArray?): ByteArray {
val baos = ByteArrayOutputStream() val baos = ByteArrayOutputStream()

@ -1,6 +1,6 @@
package cfig package cfig
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
data class ParamConfig( data class ParamConfig(
//file input //file input
var kernel: String = UnifiedConfig.workDir + "kernel", var kernel: String = UnifiedConfig.workDir + "kernel",

@ -11,7 +11,7 @@ import org.slf4j.LoggerFactory
import java.io.File import java.io.File
class Signer { class Signer {
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
companion object { companion object {
private val log = LoggerFactory.getLogger(Signer::class.java) private val log = LoggerFactory.getLogger(Signer::class.java)

@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonInclude
import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.databind.ObjectMapper
import java.io.File import java.io.File
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
data class UnifiedConfig( data class UnifiedConfig(
var info: MiscInfo = MiscInfo(), var info: MiscInfo = MiscInfo(),
@ -22,7 +22,6 @@ data class UnifiedConfig(
var size: String = "0", var size: String = "0",
var loadOffset: String = "0") var loadOffset: String = "0")
@ExperimentalUnsignedTypes
data class MiscInfo( data class MiscInfo(
var output: String = "", var output: String = "",
var headerVersion: UInt = 0U, var headerVersion: UInt = 0U,

@ -8,7 +8,7 @@ import avb.blob.Header
/* /*
a wonderfaul base64 encoder/decoder: https://cryptii.com/base64-to-hex a wonderfaul base64 encoder/decoder: https://cryptii.com/base64-to-hex
*/ */
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class AVBInfo(var header: Header? = null, class AVBInfo(var header: Header? = null,
var authBlob: AuthBlob? = null, var authBlob: AuthBlob? = null,
var auxBlob: AuxBlob? = null, var auxBlob: AuxBlob? = null,

@ -19,7 +19,7 @@ import java.nio.file.Files
import java.nio.file.Paths import java.nio.file.Paths
import java.nio.file.StandardOpenOption import java.nio.file.StandardOpenOption
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class Avb { class Avb {
private val MAX_VBMETA_SIZE = 64 * 1024 private val MAX_VBMETA_SIZE = 64 * 1024
private val MAX_FOOTER_SIZE = 4096 private val MAX_FOOTER_SIZE = 4096

@ -3,7 +3,7 @@ package avb.alg
import cfig.io.Struct3 import cfig.io.Struct3
class Algorithms { class Algorithms {
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
companion object { companion object {
private val algMap = mutableMapOf<String, Algorithm>() private val algMap = mutableMapOf<String, Algorithm>()
fun get(name: String): Algorithm? { fun get(name: String): Algorithm? {

@ -6,7 +6,7 @@ import cfig.io.Struct3
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import java.security.MessageDigest import java.security.MessageDigest
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
data class AuthBlob( data class AuthBlob(
var offset: ULong = 0U, var offset: ULong = 0U,
var size: ULong = 0U, var size: ULong = 0U,
@ -40,4 +40,4 @@ data class AuthBlob(
private val log = LoggerFactory.getLogger(AuthBlob::class.java) private val log = LoggerFactory.getLogger(AuthBlob::class.java)
} }
} }

@ -10,7 +10,7 @@ import org.slf4j.LoggerFactory
import java.nio.file.Files import java.nio.file.Files
import java.nio.file.Paths import java.nio.file.Paths
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
@JsonIgnoreProperties("descriptorSize") @JsonIgnoreProperties("descriptorSize")
class AuxBlob( class AuxBlob(
var pubkey: PubKeyInfo? = null, var pubkey: PubKeyInfo? = null,

@ -23,7 +23,7 @@ https://github.com/cfig/Android_boot_image_editor/blob/master/doc/layout.md#32-a
+---------------------------------------+-------------------------+ --> partition_size +---------------------------------------+-------------------------+ --> partition_size
*/ */
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
data class Footer constructor( data class Footer constructor(
var versionMajor: UInt = FOOTER_VERSION_MAJOR, var versionMajor: UInt = FOOTER_VERSION_MAJOR,
var versionMinor: UInt = FOOTER_VERSION_MINOR, var versionMinor: UInt = FOOTER_VERSION_MINOR,
@ -83,4 +83,4 @@ data class Footer constructor(
assert(SIZE == Struct3(FORMAT_STRING).calcSize()) assert(SIZE == Struct3(FORMAT_STRING).calcSize())
} }
} }
} }

@ -5,7 +5,7 @@ import cfig.io.Struct3
import java.io.InputStream import java.io.InputStream
//avbtool::AvbVBMetaHeader //avbtool::AvbVBMetaHeader
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
data class Header( data class Header(
var required_libavb_version_major: UInt = Avb.AVB_VERSION_MAJOR, var required_libavb_version_major: UInt = Avb.AVB_VERSION_MAJOR,
var required_libavb_version_minor: UInt = 0U, var required_libavb_version_minor: UInt = 0U,
@ -78,8 +78,8 @@ data class Header(
//toplevel flags //toplevel flags
enum class AvbVBMetaImageFlags(val inFlags: Int) { enum class AvbVBMetaImageFlags(val inFlags: Int) {
AVB_VBMETA_IMAGE_FLAGS_HASHTREE_DISABLED(1), AVB_VBMETA_IMAGE_FLAGS_HASHTREE_DISABLED(1), //disable hashtree image verification, for system/vendor/product etc.
AVB_VBMETA_IMAGE_FLAGS_VERIFICATION_DISABLED(2 shl 1) AVB_VBMETA_IMAGE_FLAGS_VERIFICATION_DISABLED(2 shl 1) //disable all verification, do not parse descriptors
} }
//verify flags //verify flags
@ -111,4 +111,4 @@ data class Header(
assert(SIZE == Struct3(FORMAT_STRING).calcSize()) assert(SIZE == Struct3(FORMAT_STRING).calcSize())
} }
} }
} }

@ -6,7 +6,7 @@ import java.io.InputStream
import java.security.MessageDigest import java.security.MessageDigest
import java.util.* import java.util.*
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class ChainPartitionDescriptor( class ChainPartitionDescriptor(
var rollback_index_location: UInt = 0U, var rollback_index_location: UInt = 0U,
var partition_name_len: UInt = 0U, var partition_name_len: UInt = 0U,
@ -66,4 +66,4 @@ class ChainPartitionDescriptor(
override fun toString(): String { override fun toString(): String {
return "ChainPartitionDescriptor(partition=${this.partition_name}, pubkey=${Arrays.toString(this.pubkey)}" return "ChainPartitionDescriptor(partition=${this.partition_name}, pubkey=${Arrays.toString(this.pubkey)}"
} }
} }

@ -1,6 +1,6 @@
package avb.desc package avb.desc
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
abstract class Descriptor(var tag: ULong, var num_bytes_following: ULong, var sequence: Int = 0) { abstract class Descriptor(var tag: ULong, var num_bytes_following: ULong, var sequence: Int = 0) {
abstract fun encode(): ByteArray abstract fun encode(): ByteArray
} }

@ -10,7 +10,7 @@ import java.io.FileInputStream
import java.io.InputStream import java.io.InputStream
import java.security.MessageDigest import java.security.MessageDigest
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class HashDescriptor(var flags: UInt = 0U, class HashDescriptor(var flags: UInt = 0U,
var partition_name: String = "", var partition_name: String = "",
var hash_algorithm: String = "", var hash_algorithm: String = "",

@ -6,7 +6,7 @@ import cfig.io.Struct3
import java.io.InputStream import java.io.InputStream
import java.util.* import java.util.*
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class HashTreeDescriptor( class HashTreeDescriptor(
var flags: UInt = 0U, var flags: UInt = 0U,
var dm_verity_version: UInt = 0u, var dm_verity_version: UInt = 0u,

@ -4,7 +4,7 @@ import cfig.Helper
import cfig.io.Struct3 import cfig.io.Struct3
import java.io.InputStream import java.io.InputStream
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class KernelCmdlineDescriptor( class KernelCmdlineDescriptor(
var flags: UInt = 0U, var flags: UInt = 0U,
var cmdlineLength: UInt = 0U, var cmdlineLength: UInt = 0U,

@ -4,7 +4,7 @@ import cfig.Helper
import cfig.io.Struct3 import cfig.io.Struct3
import java.io.InputStream import java.io.InputStream
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class PropertyDescriptor( class PropertyDescriptor(
var key: String = "", var key: String = "",
var value: String = "") : Descriptor(TAG, 0U, 0) { var value: String = "") : Descriptor(TAG, 0U, 0) {
@ -49,4 +49,4 @@ class PropertyDescriptor(
const val SIZE = 32U const val SIZE = 32U
const val FORMAT_STRING = "!4Q" const val FORMAT_STRING = "!4Q"
} }
} }

@ -7,7 +7,7 @@ import org.slf4j.LoggerFactory
import java.io.ByteArrayInputStream import java.io.ByteArrayInputStream
import java.io.InputStream import java.io.InputStream
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class UnknownDescriptor(var data: ByteArray = byteArrayOf()) : Descriptor(0U, 0U, 0) { class UnknownDescriptor(var data: ByteArray = byteArrayOf()) : Descriptor(0U, 0U, 0) {
@Throws(IllegalArgumentException::class) @Throws(IllegalArgumentException::class)
constructor(stream: InputStream, seq: Int = 0) : this() { constructor(stream: InputStream, seq: Int = 0) : this() {

@ -13,7 +13,7 @@ import java.security.MessageDigest
import java.util.regex.Pattern import java.util.regex.Pattern
import kotlin.math.pow import kotlin.math.pow
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
open class BootImgHeader( open class BootImgHeader(
var kernelLength: UInt = 0U, var kernelLength: UInt = 0U,
var kernelOffset: UInt = 0U, var kernelOffset: UInt = 0U,

@ -4,7 +4,7 @@ import cfig.ParamConfig
import org.apache.commons.exec.CommandLine import org.apache.commons.exec.CommandLine
import java.io.InputStream import java.io.InputStream
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class BootImgInfo(iS: InputStream?) : BootImgHeader(iS) { class BootImgInfo(iS: InputStream?) : BootImgHeader(iS) {
constructor() : this(null) constructor() : this(null)

@ -11,7 +11,7 @@ import java.nio.ByteBuffer
import java.nio.ByteOrder import java.nio.ByteOrder
import java.security.MessageDigest import java.security.MessageDigest
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class Packer { class Packer {
private val log = LoggerFactory.getLogger("Packer") private val log = LoggerFactory.getLogger("Packer")

@ -10,7 +10,7 @@ import org.slf4j.LoggerFactory
import java.io.File import java.io.File
import java.io.FileInputStream import java.io.FileInputStream
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class Parser { class Parser {
private fun verifiedWithAVB(fileName: String): Boolean { private fun verifiedWithAVB(fileName: String): Boolean {
val expectedBf = "AVBf".toByteArray() val expectedBf = "AVBf".toByteArray()

@ -7,7 +7,7 @@ import java.io.FileInputStream
import java.io.FileOutputStream import java.io.FileOutputStream
import java.lang.IllegalStateException import java.lang.IllegalStateException
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
data class BootloaderMsg( data class BootloaderMsg(
var command: String = "", var command: String = "",
var status: String = "", var status: String = "",

@ -31,7 +31,7 @@ import java.util.*
import java.util.regex.Pattern import java.util.regex.Pattern
import kotlin.random.Random import kotlin.random.Random
@ExperimentalUnsignedTypes @OptIn(kotlin.ExperimentalUnsignedTypes::class)
class Struct3 { class Struct3 {
private val log = LoggerFactory.getLogger(Struct3::class.java) private val log = LoggerFactory.getLogger(Struct3::class.java)
private val formatString: String private val formatString: String

@ -12,7 +12,7 @@ class Reboot {
ANDROID_RB_THERMOFF ANDROID_RB_THERMOFF
} }
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
companion object { companion object {
private val log = LoggerFactory.getLogger(Reboot::class.java) private val log = LoggerFactory.getLogger(Reboot::class.java)
const val dynamicPartitionKey = "ro.boot.dynamic_partitions" const val dynamicPartitionKey = "ro.boot.dynamic_partitions"

@ -11,7 +11,7 @@ import java.io.File
import java.io.FileInputStream import java.io.FileInputStream
import java.lang.IllegalArgumentException import java.lang.IllegalArgumentException
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class BootImgParser() : IPackable { class BootImgParser() : IPackable {
override val loopNo: Int override val loopNo: Int
get() = 0 get() = 0

@ -10,7 +10,7 @@ import java.io.File
import java.io.FileInputStream import java.io.FileInputStream
import java.util.* import java.util.*
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class DtboParser(val workDir: File) : IPackable { class DtboParser(val workDir: File) : IPackable {
override val loopNo: Int override val loopNo: Int
get() = 0 get() = 0

@ -7,7 +7,7 @@ import org.slf4j.Logger
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import java.io.File import java.io.File
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
interface IPackable { interface IPackable {
val loopNo: Int val loopNo: Int
fun capabilities(): List<String> { fun capabilities(): List<String> {

@ -11,7 +11,7 @@ import kotlin.system.exitProcess
class PackableLauncher class PackableLauncher
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
fun main(args: Array<String>) { fun main(args: Array<String>) {
val log = LoggerFactory.getLogger(PackableLauncher::class.java) val log = LoggerFactory.getLogger(PackableLauncher::class.java)
val packablePool = mutableMapOf<List<String>, KClass<IPackable>>() val packablePool = mutableMapOf<List<String>, KClass<IPackable>>()

@ -4,7 +4,7 @@ import cfig.Avb
import cfig.UnifiedConfig import cfig.UnifiedConfig
import java.io.File import java.io.File
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class VBMetaParser: IPackable { class VBMetaParser: IPackable {
override val loopNo: Int override val loopNo: Int
get() = 1 get() = 1

@ -5,7 +5,7 @@ import cfig.packable.IPackable
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import cfig.Helper.Companion.check_call import cfig.Helper.Companion.check_call
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class SparseImgParser : IPackable { class SparseImgParser : IPackable {
override val loopNo: Int override val loopNo: Int
get() = 0 get() = 0

@ -7,7 +7,7 @@ import org.junit.Assert.*
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import java.io.ByteArrayInputStream import java.io.ByteArrayInputStream
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class AvbTest { class AvbTest {
private val log = LoggerFactory.getLogger(AvbTest::class.java) private val log = LoggerFactory.getLogger(AvbTest::class.java)

@ -23,7 +23,7 @@ import java.security.spec.RSAPrivateKeySpec
import java.security.PrivateKey import java.security.PrivateKey
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class HelperTest { class HelperTest {
@Test @Test
fun rawSignTest() { fun rawSignTest() {

@ -7,7 +7,7 @@ import java.io.FileInputStream
import java.nio.file.Files import java.nio.file.Files
import java.nio.file.Paths import java.nio.file.Paths
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class KeyUtilTest { class KeyUtilTest {
@Test @Test
fun parseKeys() { fun parseKeys() {

@ -6,7 +6,7 @@ import org.apache.commons.codec.binary.Hex
import org.junit.Assert.assertEquals import org.junit.Assert.assertEquals
import org.junit.Test import org.junit.Test
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class BlobTest { class BlobTest {
@Test @Test
fun testEncodedKey2048() { fun testEncodedKey2048() {
@ -31,4 +31,4 @@ class BlobTest {
val expectedKeyEnc = "00002000ef8168f3d03dd3f9d212b260879bbf7bc2c5f4bd57ea5160c9ff79af0d8a3394269b0e19c62e5484a4041b7f567c4ecf8e338a554473895092f459e6cd7663cf1a3b32590cfacd913dea54192f76af0845ea615411eba579df074afe885a3124671b210c06baa45556c5de00abfbf8abc43dd82be568c0ed962acffa1ab31da9303c63909317f25ea6dc2c4a0e4c323afa51a2b8a8372b7a3de19200551af455ddc8f5b272ba06bf07b987459e91864d2d1ded42651c5825b6b18753f0813bddb78641e025a5848c2d208921a384a2ad2f3ad57290d5db2fe55903fd4ff4f876310021a1ea43ef8f49d39247aa6c20647a8558128a0b7b1c29c4ee75bbd75feb7d5e54afd122569074e34983226299732f3ffd33275f274dd4a61355dff7e1f769ccca52c3989b944adbc0e2d75535263b3b589e9978d5f7874affe33deb07b2d3e57e4948176be819912885ff6c710bdcb8cef01017c2fda4c0f4adfdccc9a405b72f4998cbca199c49958c3cf399c88725df3639dd0856402fda6e621c05f2354b8fabee60b88b6267fbea04bee18d546af6498d99d196715c62f51c8ff4f03ff7f9372e9ab727e188cf2bf0cc162d05f9efb5c78d658a9b9ff9cc7fdaa44d417fe6d36493acb61d33a7b4837dcabe59c5762d9bef9db2fce21a330c43689bee9cc87a10c0d628cd401db63f8a80282bb792dba1de24b103965a8ee3e4963f7edcf2532f4845b2d46884ad1d0772c3a3fd0c1618f16c7a856ba0c880dac510d0873fb6056309395783ed765e9527a2e2307828bc29c2ff69ddb32648eef6106124b050ff61a78af262de516017819dfff4d227aae05ae5c57cc2adffdcf64b3df9a21117e320347e5aa509e2c89c51287af6f3f974fd6917c37bae4c67bf72c374df3fd0ab57be217f5451cef783e33a62dc5fa1718da2256b07ee044e65e0a6e9f017e53ade71dde13b124e7c0e0de2bbd2482aba0700af79b4fc158db967f545edc42b1d80d28a3e70ea5aa13335c7794118f7419af402b85f3696c0681eceaf91ed9b34d1848aa85bfda9834a751eedcf77238a359ff6aff7475ba1e8440a4cc64aa384840a52621b28ce06f98f2b4f6330565326fd34843c5a8033d9065ed7a4b0c9e7f2e7d6ea69bcb08d596635cde25f68494ccaadff3ea2992e2745f6b568035488c24da5a5d52f3e8b5eda8162c026685e5c192769dc8e65e040db3bebff2e9c3240d2b8f824fa9c730e0ce46c50ee891b826dc5e2b9b3ae20aebfc05e3120a4af6af2d26637521a68857e3008cab41b8c79b04500cfd15554f64a8f19d80662c3ceb24047ee3e1bb819b1cb74d570c96200dd2556089c53f6dbf708adef15ac5598b476e038574da94895ab9f1d7ba3dd646fc4fae6969844e14a546b8048d3c6ea623977e074a5bfdb48f5a80b633a5a85c2c634f78439aea50b43ac0fc51af9112e97f272e5448cc3110fce7a4081ea0613cba5637de45982ff7144d57cb6401e5186d39755af273947e526d5bb5bd4390562cfb8f28039c14be94986fb4f79a49bb97a30d2f252a8569e121993af3c57a60e98cb07dfedbdeffc887ada8d098ac4deef25fee3b33ce90be9d27ae66602da89b4b931a08ae776e7ecac8ccb30c02b72208b87f05b03b9cf83f66e4be8344fd4c4ddd08194ad7a0a3a6d6ec21058e6de8bf9c8691cb7994748e71989387340a5ecd3cd0f506b6686522673e9d2770cd13db18217cd261f706efcc0f4b3842982e4c8d333b3e0ae9348b91e15843e17371426b8294964f2e74cd1c2e08a575b66a79494d98f1db480edc741f689a3678985c379609bac92b0c192dfe5ea44fc284cf67297220888210d9ebd2d100ffc8bcb13636aad6263b2a735e3d006f309100dc391297ce7253e6df1885eefee0e7035ef318053d7177cd4acc5ec92031a1fd66def3404c4adfff0f12194a093fad509a0a6c7422011d0b0c40a6da8601fc71e48ad2544ebc652499ed591e6eb89b074fca8a920b8bbb568abfcc0af73fa4f3256cb30609cdbd11307db751d0835e09cfa1c747a58ed2919d4bd6a9a8eb2c1fb92e003bb090de173dc704b387f41b7285f95294d1ce756b269e9e3814ccb3f80efe0d7eac6d0cfe2cc51524aa4c984476d74fd34f3e4ff126cf01523a1deda0e5a0772f0e61bed8dc3615d547d8113d23d8f0bfc0097ae88258e6478cee389fbb6bf4ea68d083a938d7f781ce370c03cbd10a053e7d6a37526f610220eb684805e62204f210a790e7009cf71fb036851f5fcdb86bf640c94e0c0a412a66abf5a7f205d515b6c85d65b7da2f7e40dcf3d0567d2d851f02942a0f9a67e7f9f4427460de297d17219b940ddcfaf8310d6e906831be39c2cf1d527f2ffabd95dfe145c8f0adecfc4b167f38ae03fd8d2fe4d42bd8f2ae20f59a3688153a8b2c75ad360bd9a900d810d5ce17a5be35436cd15d6b2b881b56fd97277e4b2cd82f25df35286ec724a125280a036bcb602bd0038c5ea3026547462a06e4a45729ca0784e31d1103b7f991eaa89d7121cfd67510fb18d4d5b03068884c592d6bad56815d4eb4cffab1feb7ea27dd4e28c62db6d18f8d838b48553cd737611657463349f70cdc260ab0ad9bf163658eacc78982a274f85aadb0becf92588ecd53fc5e229bb1fe870a5f18c5c66bd154d052b2e2663004c0d6beacfcb55094ffb1898b7dbe3c9653815da4c11d53ac018b98fbb36fa61197de15258dc4614807c83c02f15420527508e63f8327b4c9862291810ff453b9badb3d7620d8c1aab8b5d50d6af59fc181161a5b1039090062f0c8995822be2df158447253b8abf913225c1bdef3e9a54a0589c1f69580e2565b28c75e9c4c8d738504ee8e08de414c64d8cee4864ecf9a60948515cc07680" val expectedKeyEnc = "00002000ef8168f3d03dd3f9d212b260879bbf7bc2c5f4bd57ea5160c9ff79af0d8a3394269b0e19c62e5484a4041b7f567c4ecf8e338a554473895092f459e6cd7663cf1a3b32590cfacd913dea54192f76af0845ea615411eba579df074afe885a3124671b210c06baa45556c5de00abfbf8abc43dd82be568c0ed962acffa1ab31da9303c63909317f25ea6dc2c4a0e4c323afa51a2b8a8372b7a3de19200551af455ddc8f5b272ba06bf07b987459e91864d2d1ded42651c5825b6b18753f0813bddb78641e025a5848c2d208921a384a2ad2f3ad57290d5db2fe55903fd4ff4f876310021a1ea43ef8f49d39247aa6c20647a8558128a0b7b1c29c4ee75bbd75feb7d5e54afd122569074e34983226299732f3ffd33275f274dd4a61355dff7e1f769ccca52c3989b944adbc0e2d75535263b3b589e9978d5f7874affe33deb07b2d3e57e4948176be819912885ff6c710bdcb8cef01017c2fda4c0f4adfdccc9a405b72f4998cbca199c49958c3cf399c88725df3639dd0856402fda6e621c05f2354b8fabee60b88b6267fbea04bee18d546af6498d99d196715c62f51c8ff4f03ff7f9372e9ab727e188cf2bf0cc162d05f9efb5c78d658a9b9ff9cc7fdaa44d417fe6d36493acb61d33a7b4837dcabe59c5762d9bef9db2fce21a330c43689bee9cc87a10c0d628cd401db63f8a80282bb792dba1de24b103965a8ee3e4963f7edcf2532f4845b2d46884ad1d0772c3a3fd0c1618f16c7a856ba0c880dac510d0873fb6056309395783ed765e9527a2e2307828bc29c2ff69ddb32648eef6106124b050ff61a78af262de516017819dfff4d227aae05ae5c57cc2adffdcf64b3df9a21117e320347e5aa509e2c89c51287af6f3f974fd6917c37bae4c67bf72c374df3fd0ab57be217f5451cef783e33a62dc5fa1718da2256b07ee044e65e0a6e9f017e53ade71dde13b124e7c0e0de2bbd2482aba0700af79b4fc158db967f545edc42b1d80d28a3e70ea5aa13335c7794118f7419af402b85f3696c0681eceaf91ed9b34d1848aa85bfda9834a751eedcf77238a359ff6aff7475ba1e8440a4cc64aa384840a52621b28ce06f98f2b4f6330565326fd34843c5a8033d9065ed7a4b0c9e7f2e7d6ea69bcb08d596635cde25f68494ccaadff3ea2992e2745f6b568035488c24da5a5d52f3e8b5eda8162c026685e5c192769dc8e65e040db3bebff2e9c3240d2b8f824fa9c730e0ce46c50ee891b826dc5e2b9b3ae20aebfc05e3120a4af6af2d26637521a68857e3008cab41b8c79b04500cfd15554f64a8f19d80662c3ceb24047ee3e1bb819b1cb74d570c96200dd2556089c53f6dbf708adef15ac5598b476e038574da94895ab9f1d7ba3dd646fc4fae6969844e14a546b8048d3c6ea623977e074a5bfdb48f5a80b633a5a85c2c634f78439aea50b43ac0fc51af9112e97f272e5448cc3110fce7a4081ea0613cba5637de45982ff7144d57cb6401e5186d39755af273947e526d5bb5bd4390562cfb8f28039c14be94986fb4f79a49bb97a30d2f252a8569e121993af3c57a60e98cb07dfedbdeffc887ada8d098ac4deef25fee3b33ce90be9d27ae66602da89b4b931a08ae776e7ecac8ccb30c02b72208b87f05b03b9cf83f66e4be8344fd4c4ddd08194ad7a0a3a6d6ec21058e6de8bf9c8691cb7994748e71989387340a5ecd3cd0f506b6686522673e9d2770cd13db18217cd261f706efcc0f4b3842982e4c8d333b3e0ae9348b91e15843e17371426b8294964f2e74cd1c2e08a575b66a79494d98f1db480edc741f689a3678985c379609bac92b0c192dfe5ea44fc284cf67297220888210d9ebd2d100ffc8bcb13636aad6263b2a735e3d006f309100dc391297ce7253e6df1885eefee0e7035ef318053d7177cd4acc5ec92031a1fd66def3404c4adfff0f12194a093fad509a0a6c7422011d0b0c40a6da8601fc71e48ad2544ebc652499ed591e6eb89b074fca8a920b8bbb568abfcc0af73fa4f3256cb30609cdbd11307db751d0835e09cfa1c747a58ed2919d4bd6a9a8eb2c1fb92e003bb090de173dc704b387f41b7285f95294d1ce756b269e9e3814ccb3f80efe0d7eac6d0cfe2cc51524aa4c984476d74fd34f3e4ff126cf01523a1deda0e5a0772f0e61bed8dc3615d547d8113d23d8f0bfc0097ae88258e6478cee389fbb6bf4ea68d083a938d7f781ce370c03cbd10a053e7d6a37526f610220eb684805e62204f210a790e7009cf71fb036851f5fcdb86bf640c94e0c0a412a66abf5a7f205d515b6c85d65b7da2f7e40dcf3d0567d2d851f02942a0f9a67e7f9f4427460de297d17219b940ddcfaf8310d6e906831be39c2cf1d527f2ffabd95dfe145c8f0adecfc4b167f38ae03fd8d2fe4d42bd8f2ae20f59a3688153a8b2c75ad360bd9a900d810d5ce17a5be35436cd15d6b2b881b56fd97277e4b2cd82f25df35286ec724a125280a036bcb602bd0038c5ea3026547462a06e4a45729ca0784e31d1103b7f991eaa89d7121cfd67510fb18d4d5b03068884c592d6bad56815d4eb4cffab1feb7ea27dd4e28c62db6d18f8d838b48553cd737611657463349f70cdc260ab0ad9bf163658eacc78982a274f85aadb0becf92588ecd53fc5e229bb1fe870a5f18c5c66bd154d052b2e2663004c0d6beacfcb55094ffb1898b7dbe3c9653815da4c11d53ac018b98fbb36fa61197de15258dc4614807c83c02f15420527508e63f8327b4c9862291810ff453b9badb3d7620d8c1aab8b5d50d6af59fc181161a5b1039090062f0c8995822be2df158447253b8abf913225c1bdef3e9a54a0589c1f69580e2565b28c75e9c4c8d738504ee8e08de414c64d8cee4864ecf9a60948515cc07680"
assertEquals(expectedKeyEnc, Hex.encodeHexString(encodedKey)) assertEquals(expectedKeyEnc, Hex.encodeHexString(encodedKey))
} }
} }

@ -7,7 +7,7 @@ import org.junit.Test
import org.junit.Assert.* import org.junit.Assert.*
import java.io.ByteArrayInputStream import java.io.ByteArrayInputStream
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class FooterTest { class FooterTest {
@Test @Test
@ -36,4 +36,4 @@ class FooterTest {
} }
} }
} }
} }

@ -5,7 +5,7 @@ import org.apache.commons.codec.binary.Hex
import org.junit.Test import org.junit.Test
import java.io.ByteArrayInputStream import java.io.ByteArrayInputStream
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class HeaderTest { class HeaderTest {
@Test @Test
@ -14,4 +14,4 @@ class HeaderTest {
val header2 = Header(ByteArrayInputStream(Hex.decodeHex(vbmetaHeaderStr))) val header2 = Header(ByteArrayInputStream(Hex.decodeHex(vbmetaHeaderStr)))
println(header2.toString()) println(header2.toString())
} }
} }

@ -5,7 +5,7 @@ import cfig.Helper
import org.junit.Assert import org.junit.Assert
import org.junit.Test import org.junit.Test
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class AlgorithmsTest { class AlgorithmsTest {
@Test @Test
fun test1() { fun test1() {
@ -15,4 +15,4 @@ class AlgorithmsTest {
"0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003031300d060960864801650304020105000420") "0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003031300d060960864801650304020105000420")
println(alg) println(alg)
} }
} }

@ -6,7 +6,7 @@ import org.junit.Test
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import java.io.ByteArrayInputStream import java.io.ByteArrayInputStream
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class HashDescriptorTest { class HashDescriptorTest {
private val log = LoggerFactory.getLogger(HashDescriptorTest::class.java) private val log = LoggerFactory.getLogger(HashDescriptorTest::class.java)
@ -17,4 +17,4 @@ class HashDescriptorTest {
log.info(desc.toString()) log.info(desc.toString())
Assert.assertEquals(descStr, Hex.encodeHexString(desc.encode())) Assert.assertEquals(descStr, Hex.encodeHexString(desc.encode()))
} }
} }

@ -7,7 +7,7 @@ import org.junit.Test
import org.junit.Assert.* import org.junit.Assert.*
import java.io.ByteArrayInputStream import java.io.ByteArrayInputStream
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class HashTreeDescriptorTest { class HashTreeDescriptorTest {
@Test @Test

@ -5,7 +5,7 @@ import org.junit.Assert.assertEquals
import org.junit.Test import org.junit.Test
import java.io.ByteArrayInputStream import java.io.ByteArrayInputStream
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class KernelCmdlineDescriptorTest { class KernelCmdlineDescriptorTest {
@Test @Test
fun encode() { fun encode() {
@ -17,4 +17,4 @@ class KernelCmdlineDescriptorTest {
val cmd2 = KernelCmdlineDescriptor(ByteArrayInputStream(Hex.decodeHex(cmdStr2)), 0) val cmd2 = KernelCmdlineDescriptor(ByteArrayInputStream(Hex.decodeHex(cmdStr2)), 0)
assertEquals(cmdStr2, Hex.encodeHexString(cmd2.encode())) assertEquals(cmdStr2, Hex.encodeHexString(cmd2.encode()))
} }
} }

@ -6,7 +6,7 @@ import org.junit.Test
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import java.io.ByteArrayInputStream import java.io.ByteArrayInputStream
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class UnknownDescriptorTest { class UnknownDescriptorTest {
private val log = LoggerFactory.getLogger(UnknownDescriptorTest::class.java) private val log = LoggerFactory.getLogger(UnknownDescriptorTest::class.java)

@ -6,7 +6,7 @@ import org.junit.Test
import org.junit.Assert.* import org.junit.Assert.*
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class BootloaderMsgTest { class BootloaderMsgTest {
private val log = LoggerFactory.getLogger(BootloaderMsgTest::class.java) private val log = LoggerFactory.getLogger(BootloaderMsgTest::class.java)

@ -5,7 +5,7 @@ import org.junit.Assert
import org.junit.Test import org.junit.Test
import java.io.ByteArrayInputStream import java.io.ByteArrayInputStream
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class Struct3Test { class Struct3Test {
private fun getConvertedFormats(inStruct: Struct3): ArrayList<Map<String, Int>> { private fun getConvertedFormats(inStruct: Struct3): ArrayList<Map<String, Int>> {
val f = inStruct.javaClass.getDeclaredField("formats") val f = inStruct.javaClass.getDeclaredField("formats")

@ -5,7 +5,7 @@ import cfig.init.Reboot
import org.junit.Test import org.junit.Test
import java.util.* import java.util.*
@ExperimentalUnsignedTypes @OptIn(ExperimentalUnsignedTypes::class)
class RebootTest { class RebootTest {
@Test @Test
fun testDifferentModes() { fun testDifferentModes() {

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

Loading…
Cancel
Save