chore: downgrade Kotlin to 2.1.0, add KSP support, and migrate Room to KSP

This commit is contained in:
2026-06-12 00:17:55 +01:00
parent 29423f6aff
commit 5383c5bd11
7 changed files with 188 additions and 9 deletions
+2 -1
View File
@@ -2,6 +2,7 @@ plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.ksp)
}
android {
@@ -86,7 +87,7 @@ dependencies {
// Room
implementation(libs.androidx.room.runtime)
implementation(libs.androidx.room.ktx)
annotationProcessor(libs.androidx.room.compiler)
ksp(libs.androidx.room.compiler)
// DataStore
implementation(libs.androidx.datastore.preferences)
@@ -4,19 +4,21 @@ import android.app.Application
import com.example.esp32aldldashboard.bluetooth.BluetoothService
import com.example.esp32aldldashboard.repository.SettingsRepository
import com.example.esp32aldldashboard.repository.TelemetryRepository
import com.example.esp32aldldashboard.logging.CsvLogger
import com.example.esp32aldldashboard.data.database.TelemetryDatabase
class AldlApplication : Application() {
lateinit var bluetoothService: BluetoothService
lateinit var telemetryRepository: TelemetryRepository
lateinit var settingsRepository: SettingsRepository
lateinit var csvLogger: com.example.esp32aldldashboard.logging.CsvLogger
lateinit var csvLogger: CsvLogger
override fun onCreate() {
super.onCreate()
val database = com.example.esp32aldldashboard.data.database.TelemetryDatabase.getDatabase(this)
val database = TelemetryDatabase.getDatabase(this)
settingsRepository = SettingsRepository(this)
csvLogger = com.example.esp32aldldashboard.logging.CsvLogger(this)
csvLogger = CsvLogger(this)
bluetoothService = BluetoothService(this)
telemetryRepository = TelemetryRepository(
bluetoothService,
@@ -5,17 +5,20 @@ import androidx.room.Insert
import androidx.room.Query
import kotlinx.coroutines.flow.Flow
import kotlin.jvm.JvmSuppressWildcards
@Dao
@JvmSuppressWildcards
interface TelemetryDao {
@Insert
suspend fun insertSession(session: SessionEntity): Long
@Query("UPDATE sessions SET endTime = :endTime WHERE id = :sessionId")
suspend fun endSession(sessionId: Long, endTime: Long)
suspend fun endSession(sessionId: Long, endTime: Long): Int
@Insert
suspend fun insertDataPoints(dataPoints: List<TelemetryDataPointEntity>)
suspend fun insertDataPoints(dataPoints: List<TelemetryDataPointEntity>): List<Long>
@Query("SELECT * FROM sessions ORDER BY startTime DESC")
fun getAllSessions(): Flow<List<SessionEntity>>
@@ -24,5 +27,5 @@ interface TelemetryDao {
fun getSessionData(sessionId: Long): Flow<List<TelemetryDataPointEntity>>
@Query("DELETE FROM sessions WHERE id = :sessionId")
suspend fun deleteSession(sessionId: Long)
suspend fun deleteSession(sessionId: Long): Int
}
+1
View File
@@ -3,4 +3,5 @@ plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.compose.compiler) apply false
alias(libs.plugins.kotlin.serialization) apply false
alias(libs.plugins.ksp) apply false
}
+1
View File
@@ -27,3 +27,4 @@ kotlin.code.style=official
# resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true
android.disallowKotlinSourceSets=false
+4 -2
View File
@@ -10,11 +10,12 @@ androidxTestRunner = "1.7.0"
androidxTestEspresso = "3.7.0"
coroutines = "1.10.2"
junit = "4.13.2"
kotlin = "2.3.20"
kotlin = "2.1.0"
nav3Core = "1.0.1"
lifecycleViewmodelNav3 = "2.10.0"
room = "2.6.1"
datastore = "1.1.1"
ksp = "2.1.0-1.0.29"
[libraries]
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidxCore" }
@@ -47,4 +48,5 @@ androidx-datastore-preferences = { module = "androidx.datastore:datastore-prefer
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
+169
View File
@@ -0,0 +1,169 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>com.google.devtools.ksp</groupId>
<artifactId>com.google.devtools.ksp.gradle.plugin</artifactId>
<versioning>
<latest>2.3.9</latest>
<release>2.3.9</release>
<versions>
<version>1.5.21-1.0.0-beta07</version>
<version>1.5.30-1.0.0-beta08</version>
<version>1.5.30-1.0.0-beta09</version>
<version>1.5.30-1.0.0</version>
<version>1.5.31-1.0.0</version>
<version>1.5.31-1.0.1</version>
<version>1.6.0-M1-1.0.0</version>
<version>1.6.0-RC-1.0.1-RC</version>
<version>1.6.0-RC-1.0.0</version>
<version>1.6.0-1.0.1</version>
<version>1.6.0-1.0.2</version>
<version>1.6.10-RC-1.0.1</version>
<version>1.6.10-1.0.2</version>
<version>1.6.10-1.0.3</version>
<version>1.6.10-1.0.4</version>
<version>1.6.20-M1-1.0.2</version>
<version>1.6.20-RC-1.0.4</version>
<version>1.6.20-RC2-1.0.4</version>
<version>1.6.20-1.0.4</version>
<version>1.6.20-1.0.5</version>
<version>1.6.21-1.0.5</version>
<version>1.6.21-1.0.6</version>
<version>1.7.0-Beta-1.0.5</version>
<version>1.7.0-RC-1.0.5</version>
<version>1.7.0-RC2-1.0.5</version>
<version>1.7.0-1.0.6</version>
<version>1.7.10-1.0.6</version>
<version>1.7.20-Beta-1.0.6</version>
<version>1.7.20-RC-1.0.6</version>
<version>1.7.20-1.0.6</version>
<version>1.7.20-1.0.7</version>
<version>1.7.20-1.0.8</version>
<version>1.7.21-1.0.8</version>
<version>1.7.22-1.0.8</version>
<version>1.8.0-Beta-1.0.8</version>
<version>1.8.0-RC-1.0.8</version>
<version>1.8.0-RC2-1.0.8</version>
<version>1.8.0-1.0.8</version>
<version>1.8.0-1.0.9</version>
<version>1.8.10-1.0.9</version>
<version>1.8.20-Beta-1.0.9</version>
<version>1.8.20-RC-1.0.9</version>
<version>1.8.20-RC2-1.0.9</version>
<version>1.8.20-1.0.10</version>
<version>1.8.20-1.0.11</version>
<version>1.8.21-1.0.11</version>
<version>1.8.22-1.0.11</version>
<version>1.9.0-Beta-1.0.11</version>
<version>1.9.0-RC-1.0.11</version>
<version>1.9.0-1.0.11</version>
<version>1.9.0-1.0.12</version>
<version>1.9.0-1.0.13</version>
<version>1.9.10-1.0.13</version>
<version>1.9.20-Beta-1.0.13</version>
<version>1.9.20-Beta2-1.0.13</version>
<version>1.9.20-RC-1.0.13</version>
<version>1.9.20-RC2-1.0.13</version>
<version>1.9.20-1.0.13</version>
<version>1.9.20-1.0.14</version>
<version>1.9.21-1.0.15</version>
<version>1.9.21-1.0.16</version>
<version>1.9.22-1.0.16</version>
<version>1.9.22-1.0.17</version>
<version>1.9.22-1.0.18</version>
<version>1.9.23-1.0.19</version>
<version>1.9.23-1.0.20</version>
<version>1.9.24-1.0.20</version>
<version>1.9.25-1.0.20</version>
<version>2.0.0-Beta1-1.0.15</version>
<version>2.0.0-Beta1-1.0.14</version>
<version>2.0.0-Beta2-1.0.16</version>
<version>2.0.0-Beta3-1.0.17</version>
<version>2.0.0-Beta4-1.0.19</version>
<version>2.0.0-Beta4-1.0.18</version>
<version>2.0.0-Beta4-1.0.17</version>
<version>2.0.0-Beta5-1.0.20</version>
<version>2.0.0-Beta5-1.0.19</version>
<version>2.0.0-RC1-1.0.20</version>
<version>2.0.0-RC2-1.0.20</version>
<version>2.0.0-RC3-1.0.20</version>
<version>2.0.0-1.0.21</version>
<version>2.0.0-1.0.22</version>
<version>2.0.0-1.0.23</version>
<version>2.0.0-1.0.24</version>
<version>2.0.10-RC-1.0.23</version>
<version>2.0.10-RC2-1.0.24</version>
<version>2.0.10-1.0.24</version>
<version>2.0.20-Beta1-1.0.22</version>
<version>2.0.20-Beta2-1.0.23</version>
<version>2.0.20-RC-1.0.24</version>
<version>2.0.20-RC2-1.0.24</version>
<version>2.0.20-1.0.24</version>
<version>2.0.20-1.0.25</version>
<version>2.0.21-RC-1.0.25</version>
<version>2.0.21-1.0.25</version>
<version>2.0.21-1.0.26</version>
<version>2.0.21-1.0.27</version>
<version>2.0.21-1.0.28</version>
<version>2.1.0-Beta1-1.0.25</version>
<version>2.1.0-Beta2-1.0.26</version>
<version>2.1.0-Beta2-1.0.25</version>
<version>2.1.0-RC-1.0.26</version>
<version>2.1.0-RC-1.0.27</version>
<version>2.1.0-RC2-1.0.28</version>
<version>2.1.0-1.0.28</version>
<version>2.1.0-1.0.29</version>
<version>2.1.10-RC-1.0.29</version>
<version>2.1.10-RC2-1.0.29</version>
<version>2.1.10-1.0.29</version>
<version>2.1.10-1.0.30</version>
<version>2.1.10-1.0.31</version>
<version>2.1.20-Beta1-1.0.29</version>
<version>2.1.20-Beta2-1.0.30</version>
<version>2.1.20-Beta2-1.0.29</version>
<version>2.1.20-RC-1.0.30</version>
<version>2.1.20-RC-1.0.31</version>
<version>2.1.20-RC2-1.0.31</version>
<version>2.1.20-RC3-1.0.31</version>
<version>2.1.20-1.0.31</version>
<version>2.1.20-1.0.32</version>
<version>2.1.20-2.0.0</version>
<version>2.1.20-2.0.1</version>
<version>2.1.21-RC-2.0.0</version>
<version>2.1.21-RC2-2.0.1</version>
<version>2.1.21-2.0.1</version>
<version>2.1.21-2.0.2</version>
<version>2.2.0-Beta1-2.0.0</version>
<version>2.2.0-Beta2-2.0.1</version>
<version>2.2.0-RC-2.0.1</version>
<version>2.2.0-RC2-2.0.1</version>
<version>2.2.0-RC2-2.0.2</version>
<version>2.2.0-RC3-2.0.2</version>
<version>2.2.0-2.0.2</version>
<version>2.2.10-RC-2.0.2</version>
<version>2.2.10-RC2-2.0.2</version>
<version>2.2.10-2.0.2</version>
<version>2.2.20-Beta1-2.0.2</version>
<version>2.2.20-Beta2-2.0.2</version>
<version>2.2.20-RC-2.0.2</version>
<version>2.2.20-RC2-2.0.2</version>
<version>2.2.20-2.0.2</version>
<version>2.2.20-2.0.3</version>
<version>2.2.20-2.0.4</version>
<version>2.2.21-RC-2.0.4</version>
<version>2.2.21-RC2-2.0.4</version>
<version>2.2.21-2.0.4</version>
<version>2.2.21-2.0.5</version>
<version>2.3.0</version>
<version>2.3.1</version>
<version>2.3.2</version>
<version>2.3.3</version>
<version>2.3.4</version>
<version>2.3.5</version>
<version>2.3.6</version>
<version>2.3.7</version>
<version>2.3.8</version>
<version>2.3.9</version>
</versions>
<lastUpdated>20260526194322</lastUpdated>
</versioning>
</metadata>