Skip to content

Commit bfa3377

Browse files
authored
chore: migrate build scripts to Kotlin DSL && update dependencies (#68)
1 parent 5521d37 commit bfa3377

9 files changed

Lines changed: 227 additions & 128 deletions

File tree

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
echo "NEW_VERSION_NAME=${new_version}" >> $GITHUB_ENV
4949
echo "NEW_VERSION_CODE=${version_code}" >> $GITHUB_ENV
5050
51-
- name: Update build.gradle with new version code and version name
51+
- name: Update build.gradle.kts with new version code and version name
5252
run: |
5353
# Update versionCode and versionName in build.gradle
5454
sed -i "s/versionCode [0-9]\+/versionCode ${NEW_VERSION_CODE}/" app/build.gradle

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
echo "NEW_VERSION_NAME=${new_version}" >> $GITHUB_ENV
7373
echo "NEW_VERSION_CODE=${version_code}" >> $GITHUB_ENV
7474
75-
- name: Update build.gradle with new version code and version name
75+
- name: Update build.gradle.kts with new version code and version name
7676
run: |
7777
# Update versionCode and versionName in build.gradle
7878
sed -i "s/versionCode [0-9]\+/versionCode ${NEW_VERSION_CODE}/" app/build.gradle

app/build.gradle

Lines changed: 0 additions & 104 deletions
This file was deleted.

app/build.gradle.kts

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
plugins {
2+
alias(libs.plugins.android.application)
3+
alias(libs.plugins.devtools.ksp)
4+
alias(libs.plugins.kotlin.android)
5+
alias(libs.plugins.kotlin.serialization)
6+
alias(libs.plugins.kotlin.compose.compiler)
7+
}
8+
9+
android {
10+
compileSdk = 36
11+
namespace = "com.github.capntrips.kernelflasher"
12+
13+
defaultConfig {
14+
applicationId = "com.github.capntrips.kernelflasher"
15+
minSdk = 29
16+
targetSdk = 36
17+
versionCode = 10600
18+
versionName = "1.6.0"
19+
20+
javaCompileOptions {
21+
annotationProcessorOptions {
22+
arguments += mapOf(
23+
"room.schemaLocation" to "$projectDir/schemas",
24+
"room.incremental" to "true",
25+
)
26+
}
27+
}
28+
29+
ndk {
30+
//noinspection ChromeOsAbiSupport
31+
abiFilters.add("arm64-v8a")
32+
}
33+
34+
vectorDrawables {
35+
useSupportLibrary = true
36+
}
37+
}
38+
39+
buildTypes {
40+
release {
41+
isMinifyEnabled = false
42+
isShrinkResources = false
43+
proguardFiles(
44+
getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"
45+
)
46+
}
47+
}
48+
49+
sourceSets {
50+
getByName("main") {
51+
jniLibs.srcDirs("src/main/jniLibs")
52+
}
53+
}
54+
55+
buildFeatures {
56+
buildConfig = true
57+
aidl = true
58+
compose = true
59+
}
60+
61+
compileOptions {
62+
sourceCompatibility = JavaVersion.VERSION_21
63+
targetCompatibility = JavaVersion.VERSION_21
64+
}
65+
66+
kotlin {
67+
jvmToolchain(21)
68+
69+
}
70+
71+
packaging {
72+
resources {
73+
excludes += setOf("/META-INF/{AL2.0,LGPL2.1}")
74+
}
75+
jniLibs {
76+
useLegacyPackaging = true
77+
}
78+
dex {
79+
useLegacyPackaging = true
80+
}
81+
}
82+
83+
androidResources {
84+
generateLocaleConfig = true
85+
}
86+
87+
ksp {
88+
arg("room.schemaLocation", "$projectDir/schemas")
89+
arg("room.incremental", "true")
90+
}
91+
}
92+
93+
dependencies {
94+
implementation(libs.androidx.activity.compose)
95+
implementation(libs.androidx.appcompat)
96+
implementation(libs.androidx.compose.material)
97+
implementation(libs.androidx.compose.material3)
98+
implementation(libs.androidx.compose.foundation)
99+
implementation(libs.androidx.compose.ui)
100+
implementation(libs.androidx.core.ktx)
101+
implementation(libs.androidx.core.splashscreen)
102+
implementation(libs.androidx.lifecycle.runtime.ktx)
103+
implementation(libs.androidx.lifecycle.viewmodel.compose)
104+
implementation(libs.androidx.navigation.compose)
105+
implementation(libs.androidx.room.runtime)
106+
annotationProcessor(libs.androidx.room.compiler)
107+
ksp(libs.androidx.room.compiler)
108+
implementation(libs.libsu.core)
109+
implementation(libs.libsu.io)
110+
implementation(libs.libsu.nio)
111+
implementation(libs.libsu.service)
112+
implementation(libs.material)
113+
implementation(libs.okhttp)
114+
implementation(libs.kotlinx.serialization.json)
115+
implementation(libs.kotlinx.serialization.json)
116+
implementation(libs.retrofit)
117+
implementation(libs.converter.gson)
118+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
{
2+
"formatVersion": 1,
3+
"database": {
4+
"version": 1,
5+
"identityHash": "bbe3033de836fa33fb2ed46b5272124e",
6+
"entities": [
7+
{
8+
"tableName": "Update",
9+
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER, `update_uri` TEXT, `kernel_name` TEXT NOT NULL, `kernel_version` TEXT NOT NULL, `kernel_link` TEXT NOT NULL, `kernel_changelog_url` TEXT NOT NULL, `kernel_date` INTEGER NOT NULL, `kernel_sha1` TEXT NOT NULL, `support_link` TEXT, `last_updated` INTEGER, PRIMARY KEY(`id`))",
10+
"fields": [
11+
{
12+
"fieldPath": "id",
13+
"columnName": "id",
14+
"affinity": "INTEGER"
15+
},
16+
{
17+
"fieldPath": "updateUri",
18+
"columnName": "update_uri",
19+
"affinity": "TEXT"
20+
},
21+
{
22+
"fieldPath": "kernelName",
23+
"columnName": "kernel_name",
24+
"affinity": "TEXT",
25+
"notNull": true
26+
},
27+
{
28+
"fieldPath": "kernelVersion",
29+
"columnName": "kernel_version",
30+
"affinity": "TEXT",
31+
"notNull": true
32+
},
33+
{
34+
"fieldPath": "kernelLink",
35+
"columnName": "kernel_link",
36+
"affinity": "TEXT",
37+
"notNull": true
38+
},
39+
{
40+
"fieldPath": "kernelChangelogUrl",
41+
"columnName": "kernel_changelog_url",
42+
"affinity": "TEXT",
43+
"notNull": true
44+
},
45+
{
46+
"fieldPath": "kernelDate",
47+
"columnName": "kernel_date",
48+
"affinity": "INTEGER",
49+
"notNull": true
50+
},
51+
{
52+
"fieldPath": "kernelSha1",
53+
"columnName": "kernel_sha1",
54+
"affinity": "TEXT",
55+
"notNull": true
56+
},
57+
{
58+
"fieldPath": "supportLink",
59+
"columnName": "support_link",
60+
"affinity": "TEXT"
61+
},
62+
{
63+
"fieldPath": "lastUpdated",
64+
"columnName": "last_updated",
65+
"affinity": "INTEGER"
66+
}
67+
],
68+
"primaryKey": {
69+
"autoGenerate": false,
70+
"columnNames": [
71+
"id"
72+
]
73+
}
74+
}
75+
],
76+
"setupQueries": [
77+
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
78+
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'bbe3033de836fa33fb2ed46b5272124e')"
79+
]
80+
}
81+
}

build.gradle renamed to build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ plugins {
33
alias(libs.plugins.devtools.ksp) apply false
44
alias(libs.plugins.kotlin.android) apply false
55
alias(libs.plugins.kotlin.serialization) apply false
6-
alias(libs.plugins.compose.compiler) apply false
6+
// alias(libs.plugins.compose.compiler) apply false
77
}
88

9-
tasks.register('clean', Delete) {
10-
delete rootProject.buildDir
9+
tasks.register("clean", Delete::class) {
10+
delete(rootProject.layout.buildDirectory)
1111
}

0 commit comments

Comments
 (0)