Upgrade dex-member-list version to 4.1.1

The old dex-method-list version 3.0.0 used a dalvik-dx that could not
parse MethodType introduced in jvm-7 bytecode.
This commit is contained in:
Abduqodiri Qurbonzoda
2022-07-13 02:31:43 +03:00
parent 0942a414c8
commit de10a5b8fe
3 changed files with 31 additions and 31 deletions
+2 -1
View File
@@ -98,6 +98,7 @@ extra["customDepsOrg"] = "kotlin.build"
repositories {
mavenCentral()
maven("https://maven.google.com/")
maven("https://packages.jetbrains.team/maven/p/ij/intellij-dependencies")
maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-dependencies")
gradlePluginPortal()
@@ -172,7 +173,7 @@ dependencies {
implementation("net.rubygrapefruit:native-platform:${property("versions.native-platform")}")
implementation("net.rubygrapefruit:native-platform-windows-amd64:${property("versions.native-platform")}")
implementation("net.rubygrapefruit:native-platform-windows-i386:${property("versions.native-platform")}")
implementation("com.jakewharton.dex:dex-method-list:3.0.0")
implementation("com.jakewharton.dex:dex-member-list:4.1.1")
implementation("gradle.plugin.com.github.johnrengelman:shadow:${rootProject.extra["versions.shadow"]}")
implementation("net.sf.proguard:proguard-gradle:6.2.2")
@@ -4,6 +4,7 @@
*/
import com.jakewharton.dex.*
import com.jakewharton.dex.DexParser.Companion.toDexParser
import org.gradle.api.DefaultTask
import org.gradle.api.Project
import org.gradle.api.file.RegularFileProperty
@@ -56,18 +57,18 @@ abstract class DexMethodCount : DefaultTask() {
@TaskAction
fun invoke() {
val methods = dexMethods(jarFile)
val methods = jarFile.toDexParser().listMethods()
val counts = methods.getCounts().also { this.counts = it }
outputDetails(counts)
}
private fun List<DexMethod>.getCounts(): Counts {
val byPackage = this.groupingBy { it.`package` }.eachCount()
val byClass = this.groupingBy { it.declaringType }.eachCount()
val byClass = this.groupingBy { it.declaringTypeFqn }.eachCount()
val ownPackages = ownPackages.map { list -> list.map { "$it." } }
val byOwnPackages = if (ownPackages.isPresent) {
this.partition { method -> ownPackages.get().any { method.declaringType.startsWith(it) } }.let {
this.partition { method -> ownPackages.get().any { method.declaringTypeFqn.startsWith(it) } }.let {
it.first.size to it.second.size
}
} else (null to null)
@@ -167,5 +168,9 @@ fun Project.dexMethodCount(action: DexMethodCount.() -> Unit): TaskProvider<DexM
return dexMethodCount
}
private val DexMethod.`package`: String get() = declaringType.substringBeforeLast('.')
private val DexMethod.`package`: String get() = declaringTypeFqn.substringBeforeLast('.')
private fun Int.padRight() = toString().padStart(5, ' ')
private val DexMethod.declaringTypeFqn: String get() {
return this.render(false).substringBefore(' ')
}
+20 -26
View File
@@ -462,6 +462,12 @@
<sha256 value="8f1fa014b70baac7fc4019d7b788280dabadced747cef41e52f4d0c603e7e0b8" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="r8" version="1.5.68">
<artifact name="r8-1.5.68.jar">
<md5 value="bb4a280f173bfd88784a5775fcbf7573" origin="Generated by Gradle"/>
<sha256 value="7da95f6b78c8c7bfd59246a9e9973aab1bacc93af0676911078ad830bdf946c1" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="r8" version="2.2.64">
<artifact name="r8-2.2.64.jar">
<md5 value="33a12f64ca1e4266bffe3772d798d046" origin="Generated by Gradle"/>
@@ -1832,6 +1838,12 @@
<sha256 value="5fa734d5050f097405a801022d09377bbc81e811ef9a17cd0279ed3279f495a5" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.github.ajalt" name="clikt" version="2.1.0">
<artifact name="clikt-2.1.0.jar">
<md5 value="147bc81e9afe6f229201d0a054449019" origin="Generated by Gradle"/>
<sha256 value="3441efc735953210d8233be3c1fbde2ae8ccdd55e7073786e179d8b340ce8475" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.github.gundy" name="semver4j" version="0.16.4">
<artifact name="semver4j-0.16.4-nodeps.jar">
<md5 value="c52d66c488836f6ca5eb51a1bcd94684" origin="Generated by Gradle"/>
@@ -2438,34 +2450,16 @@
<sha256 value="faf82de0dc02e0c0ae327cd653f37255496b2e53fce280b3ab4cb34553a89086" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.jakewharton.android.repackaged" name="dalvik-dx" version="7.1.0_r7">
<artifact name="dalvik-dx-7.1.0_r7.jar">
<md5 value="cc81064202dee959ef18298a6c1ca54e" origin="Generated by Gradle"/>
<sha256 value="6a30bc82e66320a5398e6e366a6fc73f76b51bac499c2bc4c13abe7d57425c5c" origin="Generated by Gradle"/>
</artifact>
<artifact name="dalvik-dx-7.1.0_r7.pom">
<md5 value="afc218ea5aebcf56e573ec317c432bfa" origin="Generated by Gradle"/>
<sha256 value="9d1cd9ebd1a9f13fdb7ef36627c030ace39d31c8d15fcac25d5eef886788e495" origin="Generated by Gradle"/>
<component group="com.jakewharton.android.repackaged" name="dalvik-dx" version="9.0.0_r3">
<artifact name="dalvik-dx-9.0.0_r3.jar">
<md5 value="17a90cf3783aad13169b1a667d220cfe" origin="Generated by Gradle"/>
<sha256 value="b29c1c21e52ed6238cd3fed39d880a17ecf2360118604548cea8821be6801e1c" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.jakewharton.android.repackaged" name="libcore-dex" version="7.1.0_r7">
<artifact name="libcore-dex-7.1.0_r7.jar">
<md5 value="eaabdf6c5481ac452fd49fbb46f91fc5" origin="Generated by Gradle"/>
<sha256 value="83b6abcbddc1bb5ab86f927c4c9ff72188c31b78a34bf860dac42ca6ce9aa137" origin="Generated by Gradle"/>
</artifact>
<artifact name="libcore-dex-7.1.0_r7.pom">
<md5 value="d666980264a4750a7673c5c945014b71" origin="Generated by Gradle"/>
<sha256 value="d50b0113eca711837685712624ef004ee754fc6ea5fb5ba29c277f9ca0d5e63b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.jakewharton.dex" name="dex-method-list" version="3.0.0">
<artifact name="dex-method-list-3.0.0.jar">
<md5 value="38810aa6707737b86c7bb4b1f145b4cd" origin="Generated by Gradle"/>
<sha256 value="1cd68ef2dde285950d237dc6a6ef34f22933b6f2a3290a7f5cb6262f07025288" origin="Generated by Gradle"/>
</artifact>
<artifact name="dex-method-list-3.0.0.pom">
<md5 value="74e39471f2110a0ee91327797a5275ba" origin="Generated by Gradle"/>
<sha256 value="f4b34c250e18fab1aa9c0afa69891ffa074ff31cacd2891e3f02b32f866460fe" origin="Generated by Gradle"/>
<component group="com.jakewharton.dex" name="dex-member-list" version="4.1.1">
<artifact name="dex-member-list-4.1.1.jar">
<md5 value="6f88057140446254b0738e6390f88306" origin="Generated by Gradle"/>
<sha256 value="72b86107c93c92b13a912582a9110a56652de6c1cae858a35065bc4effb0c9ac" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.jcabi" name="jcabi" version="1.15">