diff --git a/Readme.md b/Readme.md index 02ef60c..57ac6d2 100644 --- a/Readme.md +++ b/Readme.md @@ -1,4 +1,4 @@ - Room 数据持久化;Worker管理上传任务,初次上传+重试共5次,重试间隔10s线性增加;多上传任务顺序处理; +Room 数据持久化;Worker管理上传任务,初次上传+重试共5次,重试间隔10s线性增加;多上传任务顺序处理; 网络请求 Retrofit ### aar位置 根目录 /aar/xxx/trackingPoint-xxx-x.x.x.aar diff --git a/aar/debug/trackingPoint-debug-1.0.1.aar b/aar/debug/trackingPoint-debug-1.0.1.aar index 174db54..3d6b95a 100644 Binary files a/aar/debug/trackingPoint-debug-1.0.1.aar and b/aar/debug/trackingPoint-debug-1.0.1.aar differ diff --git a/aar/release/trackingPoint-release-1.0.1.aar b/aar/release/trackingPoint-release-1.0.1.aar index 17d2b86..932a4bc 100644 Binary files a/aar/release/trackingPoint-release-1.0.1.aar and b/aar/release/trackingPoint-release-1.0.1.aar differ diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 00ba8fe..ee594ac 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,8 +13,8 @@ retrofit = "3.0.0" okhttp = "5.3.2" worker = "2.11.0" room = "2.8.4" -moshi="1.15.2" -ksp="2.2.21-2.0.4" +moshi = "1.15.2" +ksp = "2.2.21-2.0.4" [libraries] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } @@ -27,8 +27,8 @@ androidx-activity = { group = "androidx.activity", name = "activity", version.re androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" } retrofit-converter-moshi = { group = "com.squareup.retrofit2", name = "converter-moshi", version.ref = "retrofit" } -moshi={ group = "com.squareup.moshi", name = "moshi", version.ref = "moshi" } -moshi-kotlin-codegen={ group = "com.squareup.moshi", name = "moshi-kotlin-codegen", version.ref = "moshi" } +moshi = { group = "com.squareup.moshi", name = "moshi", version.ref = "moshi" } +moshi-kotlin-codegen = { group = "com.squareup.moshi", name = "moshi-kotlin-codegen", version.ref = "moshi" } okhttp-logging-interceptor = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp" } androidx-work-ktx = { group = "androidx.work", name = "work-runtime-ktx", version.ref = "worker" } androidx-room = { group = "androidx.room", name = "room-runtime", version.ref = "room" } @@ -40,4 +40,5 @@ android-application = { id = "com.android.application", version.ref = "agp" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } android-library = { id = "com.android.library", version.ref = "agp" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } +maven-publish = { id = "maven-publish" } diff --git a/library/build.gradle.kts b/library/build.gradle.kts index fd28e35..b365a38 100644 --- a/library/build.gradle.kts +++ b/library/build.gradle.kts @@ -36,15 +36,21 @@ android { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } - kotlinOptions { - jvmTarget = "11" - } + buildFeatures { buildConfig = true } } +kotlin { + jvmToolchain(11) +} + +ksp { + arg("room.schemaLocation", "$projectDir/schemas") +} + dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.work.ktx) diff --git a/library/schemas/com.yuanxuan.tracking_point.library.db.TrackingPointDatabase/1.json b/library/schemas/com.yuanxuan.tracking_point.library.db.TrackingPointDatabase/1.json new file mode 100644 index 0000000..7818962 --- /dev/null +++ b/library/schemas/com.yuanxuan.tracking_point.library.db.TrackingPointDatabase/1.json @@ -0,0 +1,43 @@ +{ + "formatVersion": 1, + "database": { + "version": 1, + "identityHash": "a1366f039fdd790a4b1666c6607ffd9e", + "entities": [ + { + "tableName": "tracking_points_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `trackingPointJson` TEXT NOT NULL, `uploading` INTEGER NOT NULL)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "trackingPointJson", + "columnName": "trackingPointJson", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "uploading", + "columnName": "uploading", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + } + } + ], + "setupQueries": [ + "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'a1366f039fdd790a4b1666c6607ffd9e')" + ] + } +} \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 480c60a..bae84c2 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -11,6 +11,9 @@ pluginManagement { gradlePluginPortal() } } +plugins { + id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0" +} dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories {