Skip to content

Commit 8f584fe

Browse files
foxwooshDen
and
Den
authored
core dependencies update (#109)
* kotlin version inc, serialization plugin version inc, gradle version inc * version increment * java toolchain * tasks configuration update * removed artifact provider * CI java version to 17 * tests fix * tests fix * toolchain config simplify --------- Co-authored-by: Den <[email protected]>
1 parent 04a8088 commit 8f584fe

File tree

14 files changed

+53
-40
lines changed

14 files changed

+53
-40
lines changed

.github/workflows/install/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ runs:
77
uses: actions/[email protected]
88
with:
99
distribution: 'temurin'
10-
java-version: '11'
10+
java-version: '17'
1111
cache: 'gradle'
1212

1313
- name: Install NDK

app/build.gradle

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
apply plugin: 'com.android.application'
22
apply plugin: 'kotlin-android'
3-
apply plugin: 'kotlin-android-extensions'
43
apply plugin: 'kotlin-kapt'
54

65
android {
6+
namespace 'io.novasama.substrate_sdk_app'
7+
78
compileSdkVersion rootProject.compileVersion
89
defaultConfig {
910
minSdkVersion rootProject.minVersion
@@ -14,10 +15,13 @@ android {
1415
}
1516

1617
compileOptions {
17-
sourceCompatibility 1.8
18-
targetCompatibility 1.8
18+
sourceCompatibility JavaVersion.VERSION_17
19+
targetCompatibility JavaVersion.VERSION_17
1920
}
2021

22+
kotlin {
23+
jvmToolchain(17)
24+
}
2125

2226
buildTypes {
2327
debug {

build.gradle

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
buildscript {
22
ext {
33
// App version
4-
versionName = '2.7.1'
4+
versionName = '2.7.2'
55
versionCode = 1
66

77
// SDK and tools
8-
compileVersion = 28
8+
compileVersion = 30
99
minVersion = 21
10-
targetVersion = 28
10+
targetVersion = 30
1111

12-
kotlinVersion = '1.6.20'
12+
kotlinVersion = '2.1.21'
1313

1414
supportVersion = '1.0.0'
1515
constraintVersion = '1.1.3'
@@ -70,10 +70,10 @@ buildscript {
7070
}
7171
}
7272
dependencies {
73-
classpath 'com.android.tools.build:gradle:7.3.1'
73+
classpath 'com.android.tools.build:gradle:8.10.0'
7474
classpath 'org.mozilla.rust-android-gradle:plugin:0.9.6'
7575
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
76-
classpath 'io.github.gradle-nexus:publish-plugin:1.1.0'
76+
classpath 'io.github.gradle-nexus:publish-plugin:2.0.0'
7777
}
7878
}
7979

@@ -106,22 +106,22 @@ configurations {
106106
ktlint
107107
}
108108

109-
task clean(type: Delete) {
109+
tasks.register('clean', Delete) {
110110
delete rootProject.buildDir
111111
}
112112

113113
dependencies {
114114
ktlint "com.pinterest:ktlint:0.40.0"
115115
}
116116

117-
task ktlint(type: JavaExec, group: "verification") {
117+
tasks.register('ktlint', JavaExec) {
118118
description = "Check Kotlin code style."
119119
classpath = configurations.ktlint
120120
main = "com.pinterest.ktlint.Main"
121121
args "$project.rootDir/**/src/main/**/*.kt", "--reporter=plain", "--reporter=checkstyle,output=${buildDir}/reports/checkstyle/kotlin-checkstyle-report.xml"
122122
}
123123

124-
task ktlintFormat(type: JavaExec, group: "formatting") {
124+
tasks.register('ktlintFormat', JavaExec) {
125125
description = "Fix Kotlin code style deviations."
126126
classpath = configurations.ktlint
127127
main = "com.pinterest.ktlint.Main"

gradle.properties

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,7 @@ android.enableJetifier=true
2020
# Kotlin code style for this project: "official" or "obsolete":
2121
kotlin.code.style=official
2222

23-
signing.secretKeyRingFile=../signing/key.gpg
23+
signing.secretKeyRingFile=../signing/key.gpg
24+
android.defaults.buildfeatures.buildconfig=true
25+
android.nonTransitiveRClass=false
26+
android.nonFinalResIds=false

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip

koltinx-serialization-scale/build.gradle

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
22
id 'com.android.library'
33
id 'kotlin-android'
4-
id 'org.jetbrains.kotlin.plugin.serialization' version '1.6.20'
4+
id 'org.jetbrains.kotlin.plugin.serialization' version '2.1.21'
55
}
66

77
apply from: '../maven-publish-helper.gradle'
@@ -15,6 +15,8 @@ publishing {
1515
}
1616

1717
android {
18+
namespace 'io.novasama.substrate_sdk_android.koltinx_serialization_scale'
19+
1820
compileSdkVersion rootProject.compileVersion
1921

2022
defaultConfig {
@@ -33,17 +35,17 @@ android {
3335
}
3436

3537
compileOptions {
36-
sourceCompatibility 1.8
37-
targetCompatibility 1.8
38+
sourceCompatibility JavaVersion.VERSION_17
39+
targetCompatibility JavaVersion.VERSION_17
3840
}
3941

40-
kotlinOptions {
41-
jvmTarget = '1.8'
42+
kotlin {
43+
jvmToolchain(17)
4244
}
4345
}
4446

4547
dependencies {
46-
api "org.jetbrains.kotlinx:kotlinx-serialization-core:1.3.1"
48+
api "org.jetbrains.kotlinx:kotlinx-serialization-core:1.8.1"
4749

4850
testImplementation jUnitDep
4951
testImplementation mockitoDep

maven-publish-helper.gradle

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
apply plugin: 'maven-publish'
1313
apply plugin: 'signing'
1414

15-
task androidJavadocs(type: Javadoc) {
15+
tasks.register('androidJavadocs', Javadoc) {
1616
source = android.sourceSets.main.java.srcDirs
1717
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
1818
android.libraryVariants.all { variant ->
@@ -23,12 +23,13 @@ task androidJavadocs(type: Javadoc) {
2323
exclude '**/R.html', '**/R.*.html', '**/index.html'
2424
}
2525

26-
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
26+
tasks.register('androidJavadocsJar', Jar) {
27+
dependsOn androidJavadocs
2728
archiveClassifier.set('javadoc')
2829
from androidJavadocs.destinationDir
2930
}
3031

31-
task androidSourcesJar(type: Jar) {
32+
tasks.register('androidSourcesJar', Jar) {
3233
archiveClassifier.set('sources')
3334
from android.sourceSets.main.java.srcDirs
3435
}
@@ -47,9 +48,6 @@ afterEvaluate {
4748

4849
// Adds javadocs and sources as separate jars.
4950
// artifact androidJavadocsJar
50-
artifact(androidSourcesJar) {
51-
classifier 'sources'
52-
}
5351

5452
version = android.defaultConfig.versionName // or just '1.0'
5553

substrate-sdk-android/build.gradle

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
apply plugin: 'com.android.library'
22
apply plugin: 'kotlin-android'
33
apply plugin: 'kotlin-kapt'
4-
apply plugin: 'kotlin-android-extensions'
54
apply plugin: 'org.mozilla.rust-android-gradle.rust-android'
5+
66
apply from: '../maven-publish-helper.gradle'
77

88
publishing {
@@ -14,6 +14,8 @@ publishing {
1414
}
1515

1616
android {
17+
namespace 'io.novasama.substrate_sdk_android'
18+
1719
compileSdkVersion rootProject.compileVersion
1820

1921
ndkVersion "26.1.10909125"
@@ -38,8 +40,8 @@ android {
3840
}
3941

4042
compileOptions {
41-
sourceCompatibility 1.8
42-
targetCompatibility 1.8
43+
sourceCompatibility JavaVersion.VERSION_17
44+
targetCompatibility JavaVersion.VERSION_17
4345
}
4446

4547
sourceSets {
@@ -51,6 +53,10 @@ android {
5153
java.srcDirs += "$projectDir/src/testShared/java"
5254
}
5355
}
56+
57+
kotlin {
58+
jvmToolchain(17)
59+
}
5460
}
5561

5662
cargo {
@@ -59,7 +65,7 @@ cargo {
5965
targets = ["arm", "arm64", "x86", "x86_64"]
6066
}
6167

62-
tasks.whenTaskAdded { task ->
68+
tasks.configureEach { task ->
6369
if ((task.name == 'javaPreCompileDebug' || task.name == 'javaPreCompileRelease')) {
6470
task.dependsOn 'cargoBuild'
6571
}

substrate-sdk-android/src/main/java/io/novasama/substrate_sdk_android/extensions/Ethereum.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ fun String.asEthereumAddress() = Ethereum.Address(this)
2323
private val ETHEREUM_ADDRESS_REGEX = "^0x[0-9a-f]{40}$".toRegex()
2424

2525
fun Ethereum.Address.isValid(): Boolean {
26-
val withoutChecksum = value.toLowerCase(Locale.ROOT)
26+
val withoutChecksum = value.lowercase(Locale.ROOT)
2727

2828
// value is hex string of 40 symbols
2929
if (!ETHEREUM_ADDRESS_REGEX.matches(withoutChecksum)) {
@@ -70,7 +70,7 @@ fun Ethereum.Address.toAccountId(): Ethereum.AccountId {
7070
throw Ethereum.InvalidChecksumException()
7171
}
7272

73-
val accountId = value.toLowerCase(Locale.ROOT).fromHex()
73+
val accountId = value.lowercase(Locale.ROOT).fromHex()
7474

7575
return Ethereum.AccountId(accountId)
7676
}

substrate-sdk-android/src/main/java/io/novasama/substrate_sdk_android/runtime/definitions/types/generics/ExtrinsicExt.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ fun Extrinsic.Instance.tryExtractMultiSignature(): MultiSignature? {
6565
val value = enumEntry.value as? ByteArray ?: return null
6666

6767
val encryptionType =
68-
EncryptionType.fromStringOrNull(enumEntry.name.toLowerCase()) ?: return null
68+
EncryptionType.fromStringOrNull(enumEntry.name.lowercase()) ?: return null
6969

7070
return MultiSignature(encryptionType, value)
7171
}

substrate-sdk-android/src/main/java/io/novasama/substrate_sdk_android/wsrpc/socket/RpcSocket.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ class RpcSocket(
128128
}
129129

130130
private fun log(topic: String, message: Any?) {
131-
logger?.log("\t[SOCKET][${topic.toUpperCase()}] $message")
131+
logger?.log("\t[SOCKET][${topic.uppercase()}] $message")
132132
}
133133

134134
private fun isBatchReply(response: String): Boolean {

substrate-sdk-android/src/test/java/io/novasama/substrate_sdk_android/common/Math.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ package io.novasama.substrate_sdk_android.common
33
/**
44
* Complexity: O(n * log(n))
55
*/
6-
fun List<Double>.median(): Double = sorted().let {
6+
fun List<Long>.median(): Double = sorted().let {
77
val middleRight = it[it.size / 2]
8-
val middleLeft = it[(it.size - 1) / 2] // will be same as middleRight if list size is odd
8+
val middleLeft = it[(it.size - 1) / 2]
99

10-
(middleLeft + middleRight) / 2
10+
(middleLeft + middleRight) / 2.0
1111
}

substrate-sdk-android/src/test/java/io/novasama/substrate_sdk_android/runtime/definitions/TypeDefinitionParserTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ class TypeDefinitionParserTest {
450450
val parseTimes = (0..times).map {
451451
measureTime {
452452
TypeDefinitionParser.parseBaseDefinitions(tree, v13Preset())
453-
}.inMilliseconds
453+
}.inWholeMilliseconds
454454
}
455455

456456
println(parseTimes)

substrate-sdk-android/src/test/java/io/novasama/substrate_sdk_android/runtime/metadata/Metadata14Test.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class Metadata14Test {
6565
metadataReader.metadata[RuntimeMetadataSchemaV14.lookup],
6666
v14Preset()
6767
)
68-
}.inMilliseconds
68+
}.inWholeMilliseconds
6969
}
7070
println("Median: ${parseTimes.median()} ms")
7171
}

0 commit comments

Comments
 (0)