From dd045c6dbbe966e4bc07fd650dd967084cce264e Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Mon, 27 May 2024 14:40:16 +0300 Subject: [PATCH 01/18] Update SQLite to v3.46.0 --- CHANGELOG.md | 6 +++++ README.md | 6 ++--- build.gradle | 4 +-- gradle/wrapper/gradle-wrapper.properties | 2 +- sqlite-android/build.gradle | 10 +++---- .../android/database/DatabaseCursorTest.java | 26 +++++++++---------- .../NewDatabasePerformanceTestSuite.java | 2 +- .../android/database/AbstractCursor.java | 7 +---- .../database/sqlite/SQLiteConnection.java | 15 ++--------- .../database/sqlite/SQLiteDatabase.java | 2 -- 10 files changed, 33 insertions(+), 47 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58a6d0b2..7a920aa1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ Change Log ========== +## 3.46.0 +- [SQLite 3.46.0](https://www.sqlite.org/releaselog/3_46_0.html) +- [SQLite 3.45.3](https://www.sqlite.org/releaselog/3_45_3.html) +- [SQLite 3.45.2](https://www.sqlite.org/releaselog/3_45_2.html) +- [SQLite 3.45.1](https://www.sqlite.org/releaselog/3_45_2.html) +- ## 3.45.0 - [SQLite 3.45.0](https://www.sqlite.org/releaselog/3_45_0.html) - [SQLite 3.44.2](https://www.sqlite.org/releaselog/3_44_2.html) diff --git a/README.md b/README.md index fd43d3a8..86de3247 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ Then add the sqlite-android artifact from this repository as a dependency: ```gradle dependencies { - implementation 'com.github.requery:sqlite-android:3.45.0' + implementation 'com.github.requery:sqlite-android:3.46.0' } ``` Then change usages of `android.database.sqlite.SQLiteDatabase` to @@ -109,13 +109,13 @@ Note that starting August 1, 2019, your apps published on Google Play will [need Requirements ------------ -The min SDK level is API level 19 (KitKat). +The min SDK level is API level 21 (Lollipop). Versioning ---------- The library is versioned after the version of SQLite it contains. For changes specific to just the -wrapper API, a revision number is added e.g., 3.45.0-X, where X is the revision number. +wrapper API, a revision number is added e.g., 3.46.0-X, where X is the revision number. Acknowledgements ---------------- diff --git a/build.gradle b/build.gradle index 21f7a746..f9a85d52 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ plugins { - id "com.android.library" version "8.2.1" apply false - id "de.undercouch.download" version "5.5.0" apply false + id "com.android.library" version "8.4.1" apply false + id "de.undercouch.download" version "5.6.0" apply false } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3499ded5..20db9ad5 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/sqlite-android/build.gradle b/sqlite-android/build.gradle index 9bf9fd69..8c811fa6 100644 --- a/sqlite-android/build.gradle +++ b/sqlite-android/build.gradle @@ -3,19 +3,19 @@ import com.vanniktech.maven.publish.SonatypeHost plugins { id "de.undercouch.download" id "com.android.library" - id "com.vanniktech.maven.publish" version "0.27.0" + id "com.vanniktech.maven.publish" version "0.28.0" } android { buildToolsVersion = "34.0.0" - ndkVersion "26.1.10909125" + ndkVersion "26.3.11579264" compileSdk 34 namespace "io.requery.android.sqlite" defaultConfig { - minSdkVersion 19 + minSdkVersion 21 versionName VERSION_NAME testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -48,7 +48,7 @@ android { } dependencies { - api("androidx.core:core:1.12.0") + api("androidx.core:core:1.13.1") api("androidx.sqlite:sqlite:2.4.0") testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test:core:1.5.0") @@ -58,7 +58,7 @@ dependencies { } ext { - sqliteDistributionUrl = "https://www.sqlite.org/2024/sqlite-amalgamation-3450000.zip" + sqliteDistributionUrl = "https://www.sqlite.org/2024/sqlite-amalgamation-3460000.zip" } tasks.register("downloadSqlite", Download) { diff --git a/sqlite-android/src/androidTest/java/io/requery/android/database/DatabaseCursorTest.java b/sqlite-android/src/androidTest/java/io/requery/android/database/DatabaseCursorTest.java index b2ef570a..3adee371 100644 --- a/sqlite-android/src/androidTest/java/io/requery/android/database/DatabaseCursorTest.java +++ b/sqlite-android/src/androidTest/java/io/requery/android/database/DatabaseCursorTest.java @@ -17,7 +17,6 @@ package io.requery.android.database; -import android.annotation.TargetApi; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; @@ -93,7 +92,6 @@ private void populateDefaultTable() { mDatabase.execSQL("INSERT INTO test (data) VALUES ('" + sString3 + "');"); } - @TargetApi(Build.VERSION_CODES.HONEYCOMB) @MediumTest @Test public void testBlob() { @@ -102,23 +100,23 @@ public void testBlob() { "CREATE TABLE test (_id INTEGER PRIMARY KEY, s TEXT, d REAL, l INTEGER, b BLOB);"); // insert blob Object[] args = new Object[4]; - + byte[] blob = new byte[1000]; byte value = 99; - Arrays.fill(blob, value); + Arrays.fill(blob, value); args[3] = blob; - + String s = "text"; args[0] = s; Double d = 99.9; args[1] = d; Long l = (long)1000; args[2] = l; - + String sql = "INSERT INTO test (s, d, l, b) VALUES (?,?,?,?)"; mDatabase.execSQL(sql, args); // use cursor to access blob - Cursor c = mDatabase.query("test", null, null, null, null, null, null); + Cursor c = mDatabase.query("test", null, null, null, null, null, null); c.moveToNext(); ContentValues cv = new ContentValues(); //DatabaseUtils.cursorRowToContentValues(c, cv); @@ -131,7 +129,7 @@ public void testBlob() { cv.put(columns[i], c.getString(i)); } } - + int bCol = c.getColumnIndexOrThrow("b"); int sCol = c.getColumnIndexOrThrow("s"); int dCol = c.getColumnIndexOrThrow("d"); @@ -143,7 +141,7 @@ public void testBlob() { assertEquals((long)l, c.getLong(lCol)); c.close(); } - + @MediumTest @Test public void testRealColumns() { @@ -286,8 +284,8 @@ public void testLargeField() { @Test public void testManyRowsLong() { mDatabase.execSQL("CREATE TABLE test (_id INTEGER PRIMARY KEY, data INT);"); - - final int count = 36799; + + final int count = 36799; mDatabase.execSQL("BEGIN Transaction;"); for (int i = 0; i < count; i++) { mDatabase.execSQL("INSERT INTO test (data) VALUES (" + i + ");"); @@ -343,12 +341,12 @@ public void testManyRowsTxt() { assertEquals(count, c.getCount()); c.close(); } - + @LargeTest @Test public void testManyRowsTxtLong() { mDatabase.execSQL("CREATE TABLE test (_id INTEGER PRIMARY KEY, txt TEXT, data INT);"); - + Random random = new Random(System.currentTimeMillis()); StringBuilder randomString = new StringBuilder(1979); for (int i = 0; i < 1979; i++) { @@ -382,7 +380,7 @@ public void testManyRowsTxtLong() { assertEquals(count, c.getCount()); c.close(); } - + @MediumTest @Test public void testRequery() { diff --git a/sqlite-android/src/androidTest/java/io/requery/android/database/NewDatabasePerformanceTestSuite.java b/sqlite-android/src/androidTest/java/io/requery/android/database/NewDatabasePerformanceTestSuite.java index b24ddca6..1ce5256b 100644 --- a/sqlite-android/src/androidTest/java/io/requery/android/database/NewDatabasePerformanceTestSuite.java +++ b/sqlite-android/src/androidTest/java/io/requery/android/database/NewDatabasePerformanceTestSuite.java @@ -23,7 +23,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4; -@Ignore +@Ignore("No reason to ignore") @RunWith(AndroidJUnit4.class) public class NewDatabasePerformanceTestSuite extends TestSuite { diff --git a/sqlite-android/src/main/java/io/requery/android/database/AbstractCursor.java b/sqlite-android/src/main/java/io/requery/android/database/AbstractCursor.java index 27a5e1c3..91055a33 100644 --- a/sqlite-android/src/main/java/io/requery/android/database/AbstractCursor.java +++ b/sqlite-android/src/main/java/io/requery/android/database/AbstractCursor.java @@ -26,7 +26,6 @@ import android.database.DataSetObservable; import android.database.DataSetObserver; import android.net.Uri; -import android.os.Build; import android.os.Bundle; import android.util.Log; @@ -311,11 +310,7 @@ public void unregisterDataSetObserver(DataSetObserver observer) { @SuppressWarnings("deprecation") protected void onChange(boolean selfChange) { synchronized (mSelfObserverLock) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { - mContentObservable.dispatchChange(selfChange, null); - } else { - mContentObservable.dispatchChange(selfChange); - } + mContentObservable.dispatchChange(selfChange, null); if (mNotifyUri != null && selfChange) { mContentResolver.notifyChange(mNotifyUri, mSelfObserver); } diff --git a/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteConnection.java b/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteConnection.java index c408b865..4adafa2e 100644 --- a/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteConnection.java +++ b/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteConnection.java @@ -22,12 +22,10 @@ package io.requery.android.database.sqlite; import android.annotation.SuppressLint; -import android.annotation.TargetApi; import android.database.Cursor; import android.database.sqlite.SQLiteBindOrColumnIndexOutOfRangeException; import android.database.sqlite.SQLiteDatabaseLockedException; import android.database.sqlite.SQLiteException; -import android.os.Build; import android.os.Looper; import android.os.ParcelFileDescriptor; import android.util.Log; @@ -726,11 +724,7 @@ public ParcelFileDescriptor executeForBlobFileDescriptor(String sql, Object[] bi try { int fd = nativeExecuteForBlobFileDescriptor( mConnectionPtr, statement.mStatementPtr); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) { - return fd >= 0 ? ParcelFileDescriptor.adoptFd(fd) : null; - } else { - throw new UnsupportedOperationException(); - } + return fd >= 0 ? ParcelFileDescriptor.adoptFd(fd) : null; } finally { detachCancellationSignal(cancellationSignal); } @@ -1030,11 +1024,7 @@ private void bindArguments(PreparedStatement statement, Object[] bindArgs) { if (count != statement.mNumParameters) { String message = "Expected " + statement.mNumParameters + " bind arguments but " + count + " were provided."; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { - throw new SQLiteBindOrColumnIndexOutOfRangeException(message); - } else { - throw new SQLiteException(message); - } + throw new SQLiteBindOrColumnIndexOutOfRangeException(message); } if (count == 0) { return; @@ -1088,7 +1078,6 @@ private void bindArguments(PreparedStatement statement, Object[] bindArgs) { * @param obj the object whose value type is to be returned * @return object value type */ - @TargetApi(Build.VERSION_CODES.HONEYCOMB) private static int getTypeOfObject(Object obj) { if (obj == null) { return Cursor.FIELD_TYPE_NULL; diff --git a/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteDatabase.java b/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteDatabase.java index aca107f4..7976d609 100644 --- a/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteDatabase.java +++ b/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteDatabase.java @@ -39,7 +39,6 @@ import androidx.annotation.IntDef; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.annotation.RequiresApi; import androidx.core.os.CancellationSignal; import androidx.core.os.OperationCanceledException; import androidx.sqlite.db.SupportSQLiteDatabase; @@ -1352,7 +1351,6 @@ public Cursor query(final SupportSQLiteQuery supportQuery) { * {@link Cursor}s are not synchronized, see the documentation for more details. */ @Override - @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) public Cursor query(SupportSQLiteQuery supportQuery, android.os.CancellationSignal signal) { if (signal != null) { final CancellationSignal supportCancellationSignal = new CancellationSignal(); From a0fba25cf14356e95fbdb73c24378cc07d6425bc Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Sat, 1 Jun 2024 17:41:19 +0300 Subject: [PATCH 02/18] Update Gradle --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 20db9ad5..2617362f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 697616afb14f54bc8a160437edb8c12b485feaf5 Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Fri, 12 Jul 2024 05:35:19 +0300 Subject: [PATCH 03/18] Bump tools --- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- sqlite-android/build.gradle | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/build.gradle b/build.gradle index f9a85d52..d9bc0c75 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ plugins { - id "com.android.library" version "8.4.1" apply false + id "com.android.library" version "8.5.1" apply false id "de.undercouch.download" version "5.6.0" apply false } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2617362f..171d8761 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/sqlite-android/build.gradle b/sqlite-android/build.gradle index 8c811fa6..3e2a3388 100644 --- a/sqlite-android/build.gradle +++ b/sqlite-android/build.gradle @@ -3,11 +3,11 @@ import com.vanniktech.maven.publish.SonatypeHost plugins { id "de.undercouch.download" id "com.android.library" - id "com.vanniktech.maven.publish" version "0.28.0" + id "com.vanniktech.maven.publish" version "0.29.0" } android { - buildToolsVersion = "34.0.0" + buildToolsVersion = "35.0.0" ndkVersion "26.3.11579264" compileSdk 34 @@ -51,10 +51,10 @@ dependencies { api("androidx.core:core:1.13.1") api("androidx.sqlite:sqlite:2.4.0") testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test:core:1.5.0") - androidTestImplementation("androidx.test:runner:1.5.2") - androidTestImplementation("androidx.test:rules:1.5.0") - androidTestImplementation("androidx.test.ext:junit:1.1.5") + androidTestImplementation("androidx.test:core:1.6.1") + androidTestImplementation("androidx.test:runner:1.6.1") + androidTestImplementation("androidx.test:rules:1.6.1") + androidTestImplementation("androidx.test.ext:junit:1.2.1") } ext { From a197f113f7e296d82469a461f4377ad5cd879582 Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Thu, 31 Oct 2024 03:32:01 +0200 Subject: [PATCH 04/18] Try to update CI --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b071d949..82905673 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,14 +11,14 @@ jobs: strategy: fail-fast: false matrix: - api-level: [29] + api-level: [35] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 1 - name: Set up JDK 17 - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: java-version: "17" distribution: "adopt" @@ -34,7 +34,7 @@ jobs: - name: Upload results if: ${{ always() }} - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: instrumentation-test-results ${{ matrix.api-level }} path: ./**/build/reports/androidTests/connected/** From b4acb957d3815148186b8653d2b604782eff8e2c Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Thu, 31 Oct 2024 03:32:01 +0200 Subject: [PATCH 05/18] Try to update CI --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 82905673..4ec4f221 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ jobs: distribution: "adopt" - name: Run Android tests - uses: reactivecircus/android-emulator-runner@e790971012b979513b4e2fe70d4079bc0ca8a1ae + uses: reactivecircus/android-emulator-runner@v2 with: api-level: ${{ matrix.api-level }} emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none From 354f5202ab967a9c10f028cb88164b9265525769 Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Thu, 31 Oct 2024 03:42:56 +0200 Subject: [PATCH 06/18] Try to update CI --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4ec4f221..1c7919bf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none disable-animations: true arch: x86 - script: ./gradlew connectedAndroidTest --stacktrace + script: ./gradlew connectedCheck --stacktrace - name: Upload results if: ${{ always() }} From a6cd760b90447e045446c589806a0d627a37d434 Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Thu, 31 Oct 2024 03:45:55 +0200 Subject: [PATCH 07/18] Try to update CI --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1c7919bf..98bd904e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ on: [push, pull_request] jobs: ci: - runs-on: macos-latest + runs-on: macos-11.0 strategy: fail-fast: false matrix: From 2d562af320e24d3d20385d8f4069efd76d490f10 Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Thu, 31 Oct 2024 03:57:31 +0200 Subject: [PATCH 08/18] Try to update CI --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 98bd904e..bada4beb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ on: [push, pull_request] jobs: ci: - runs-on: macos-11.0 + runs-on: macos-11 strategy: fail-fast: false matrix: From 5646a6ddda3bfc975b27a6f5f4777987f3370ffa Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Thu, 31 Oct 2024 03:59:21 +0200 Subject: [PATCH 09/18] Try to update CI --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bada4beb..ebbb54cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ on: [push, pull_request] jobs: ci: - runs-on: macos-11 + runs-on: ubuntu-latest strategy: fail-fast: false matrix: From 451a0f7a3c570d894f8e3621f171da58c06c25a0 Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Thu, 31 Oct 2024 04:05:09 +0200 Subject: [PATCH 10/18] Try to update CI --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ebbb54cd..fd163ea9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ jobs: distribution: "adopt" - name: Run Android tests - uses: reactivecircus/android-emulator-runner@v2 + uses: reactivecircus/android-emulator-runner@v2.33.0 with: api-level: ${{ matrix.api-level }} emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none From 20334cbb8ede0e301df565adfedaa37a52f97b52 Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Thu, 31 Oct 2024 04:09:04 +0200 Subject: [PATCH 11/18] Rollback CI --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fd163ea9..2b060268 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,11 +7,11 @@ on: [push, pull_request] jobs: ci: - runs-on: ubuntu-latest + runs-on: macos-latest strategy: fail-fast: false matrix: - api-level: [35] + api-level: [29] steps: - uses: actions/checkout@v4 with: @@ -24,13 +24,13 @@ jobs: distribution: "adopt" - name: Run Android tests - uses: reactivecircus/android-emulator-runner@v2.33.0 + uses: reactivecircus/android-emulator-runner@v2 with: api-level: ${{ matrix.api-level }} emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none disable-animations: true arch: x86 - script: ./gradlew connectedCheck --stacktrace + script: ./gradlew connectedAndroidTest --stacktrace - name: Upload results if: ${{ always() }} From fb5c226a6fff0f1da3ced44e7e0d76b48a04cb98 Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Thu, 31 Oct 2024 04:21:49 +0200 Subject: [PATCH 12/18] Add missed SQLiteUpdateHook --- .../android/database/sqlite/SQLiteUpdateHook.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteUpdateHook.java diff --git a/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteUpdateHook.java b/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteUpdateHook.java new file mode 100644 index 00000000..d6b233d9 --- /dev/null +++ b/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteUpdateHook.java @@ -0,0 +1,12 @@ +package io.requery.android.database.sqlite; + +/** + * + */ +public interface SQLiteUpdateHook { + + /** + * + */ + void invoke(int operationType, String databaseName, String tableName, long rowId); +} From 9e342efa01bf3021945cebae464cf7e6b2b44957 Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Thu, 31 Oct 2024 04:22:28 +0200 Subject: [PATCH 13/18] Update to v3.47.0 --- CHANGELOG.md | 6 ++++-- README.md | 4 ++-- build.gradle | 2 +- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- sqlite-android/build.gradle | 12 ++++++------ 6 files changed, 15 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a920aa1..df33e11e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,14 @@ Change Log ========== -## 3.46.0 +## 3.47.0 +- [SQLite 3.47.0](https://www.sqlite.org/releaselog/3_47_0.html) +- [SQLite 3.46.1](https://www.sqlite.org/releaselog/3_46_1.html) - [SQLite 3.46.0](https://www.sqlite.org/releaselog/3_46_0.html) - [SQLite 3.45.3](https://www.sqlite.org/releaselog/3_45_3.html) - [SQLite 3.45.2](https://www.sqlite.org/releaselog/3_45_2.html) - [SQLite 3.45.1](https://www.sqlite.org/releaselog/3_45_2.html) -- + ## 3.45.0 - [SQLite 3.45.0](https://www.sqlite.org/releaselog/3_45_0.html) - [SQLite 3.44.2](https://www.sqlite.org/releaselog/3_44_2.html) diff --git a/README.md b/README.md index 86de3247..5a255756 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ Then add the sqlite-android artifact from this repository as a dependency: ```gradle dependencies { - implementation 'com.github.requery:sqlite-android:3.46.0' + implementation 'com.github.requery:sqlite-android:3.47.0' } ``` Then change usages of `android.database.sqlite.SQLiteDatabase` to @@ -115,7 +115,7 @@ Versioning ---------- The library is versioned after the version of SQLite it contains. For changes specific to just the -wrapper API, a revision number is added e.g., 3.46.0-X, where X is the revision number. +wrapper API, a revision number is added e.g., 3.47.0-X, where X is the revision number. Acknowledgements ---------------- diff --git a/build.gradle b/build.gradle index d9bc0c75..cc5b47a1 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ plugins { - id "com.android.library" version "8.5.1" apply false + id "com.android.library" version "8.7.1" apply false id "de.undercouch.download" version "5.6.0" apply false } diff --git a/gradle.properties b/gradle.properties index 28112677..e69f21b1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,7 +16,7 @@ org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M" android.useAndroidX=true # GROUP=io.requery -VERSION_NAME=3.45.0-SNAPSHOT +VERSION_NAME=3.47.0-SNAPSHOT # POM_DEVELOPER_ID=TODO POM_DEVELOPER_NAME=TODO diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 171d8761..5c40527d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/sqlite-android/build.gradle b/sqlite-android/build.gradle index 3e2a3388..cfba82bc 100644 --- a/sqlite-android/build.gradle +++ b/sqlite-android/build.gradle @@ -3,14 +3,14 @@ import com.vanniktech.maven.publish.SonatypeHost plugins { id "de.undercouch.download" id "com.android.library" - id "com.vanniktech.maven.publish" version "0.29.0" + id "com.vanniktech.maven.publish" version "0.30.0" } android { buildToolsVersion = "35.0.0" - ndkVersion "26.3.11579264" + ndkVersion "27.2.12479018" - compileSdk 34 + compileSdk 35 namespace "io.requery.android.sqlite" @@ -48,17 +48,17 @@ android { } dependencies { - api("androidx.core:core:1.13.1") + api("androidx.core:core:1.15.0") api("androidx.sqlite:sqlite:2.4.0") testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test:core:1.6.1") - androidTestImplementation("androidx.test:runner:1.6.1") + androidTestImplementation("androidx.test:runner:1.6.2") androidTestImplementation("androidx.test:rules:1.6.1") androidTestImplementation("androidx.test.ext:junit:1.2.1") } ext { - sqliteDistributionUrl = "https://www.sqlite.org/2024/sqlite-amalgamation-3460000.zip" + sqliteDistributionUrl = "https://www.sqlite.org/2024/sqlite-amalgamation-3470000.zip" } tasks.register("downloadSqlite", Download) { From 41bff48294924b5a91e5b8eedda19c2260b76c78 Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Thu, 31 Oct 2024 04:28:01 +0200 Subject: [PATCH 14/18] Fix method name in SQLiteUpdateHook --- .../io/requery/android/database/sqlite/SQLiteUpdateHook.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteUpdateHook.java b/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteUpdateHook.java index d6b233d9..fdd4c156 100644 --- a/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteUpdateHook.java +++ b/sqlite-android/src/main/java/io/requery/android/database/sqlite/SQLiteUpdateHook.java @@ -8,5 +8,5 @@ public interface SQLiteUpdateHook { /** * */ - void invoke(int operationType, String databaseName, String tableName, long rowId); + void onUpdateFromNative(int operationType, String databaseName, String tableName, long rowId); } From a7da05da921cad8ffbb1ed6f6ab7b1552e244c88 Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Tue, 10 Dec 2024 20:31:00 +0200 Subject: [PATCH 15/18] Bump SQLite to 3.47.2 --- CHANGELOG.md | 2 ++ README.md | 4 ++-- build.gradle | 2 +- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- sqlite-android/build.gradle | 2 +- 6 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index df33e11e..d393cb4d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ Change Log ========== ## 3.47.0 +- [SQLite 3.47.2](https://www.sqlite.org/releaselog/3_47_2.html) +- [SQLite 3.47.1](https://www.sqlite.org/releaselog/3_47_2.html) - [SQLite 3.47.0](https://www.sqlite.org/releaselog/3_47_0.html) - [SQLite 3.46.1](https://www.sqlite.org/releaselog/3_46_1.html) - [SQLite 3.46.0](https://www.sqlite.org/releaselog/3_46_0.html) diff --git a/README.md b/README.md index 5a255756..287d6a97 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ Then add the sqlite-android artifact from this repository as a dependency: ```gradle dependencies { - implementation 'com.github.requery:sqlite-android:3.47.0' + implementation 'com.github.requery:sqlite-android:3.47.2' } ``` Then change usages of `android.database.sqlite.SQLiteDatabase` to @@ -115,7 +115,7 @@ Versioning ---------- The library is versioned after the version of SQLite it contains. For changes specific to just the -wrapper API, a revision number is added e.g., 3.47.0-X, where X is the revision number. +wrapper API, a revision number is added, e.g., 3.47.2-X, where X is the revision number. Acknowledgements ---------------- diff --git a/build.gradle b/build.gradle index cc5b47a1..1e64d54d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ plugins { - id "com.android.library" version "8.7.1" apply false + id "com.android.library" version "8.7.3" apply false id "de.undercouch.download" version "5.6.0" apply false } diff --git a/gradle.properties b/gradle.properties index e69f21b1..f5089afe 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,7 +16,7 @@ org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M" android.useAndroidX=true # GROUP=io.requery -VERSION_NAME=3.47.0-SNAPSHOT +VERSION_NAME=3.47.2-SNAPSHOT # POM_DEVELOPER_ID=TODO POM_DEVELOPER_NAME=TODO diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5c40527d..4eaec467 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/sqlite-android/build.gradle b/sqlite-android/build.gradle index cfba82bc..116df5f5 100644 --- a/sqlite-android/build.gradle +++ b/sqlite-android/build.gradle @@ -58,7 +58,7 @@ dependencies { } ext { - sqliteDistributionUrl = "https://www.sqlite.org/2024/sqlite-amalgamation-3470000.zip" + sqliteDistributionUrl = "https://www.sqlite.org/2024/sqlite-amalgamation-3470200.zip" } tasks.register("downloadSqlite", Download) { From b90cc2aa48dc9b9634eeffcc328ef24cd25f9767 Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Wed, 15 Jan 2025 13:20:40 +0200 Subject: [PATCH 16/18] Bump SQLite to 3.48.0 --- CHANGELOG.md | 3 ++- README.md | 4 ++-- build.gradle | 2 +- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- sqlite-android/build.gradle | 4 ++-- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d393cb4d..1316505f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ Change Log ========== -## 3.47.0 +## 3.48.0 +- [SQLite 3.48.0](https://www.sqlite.org/releaselog/3_48_0.html) - [SQLite 3.47.2](https://www.sqlite.org/releaselog/3_47_2.html) - [SQLite 3.47.1](https://www.sqlite.org/releaselog/3_47_2.html) - [SQLite 3.47.0](https://www.sqlite.org/releaselog/3_47_0.html) diff --git a/README.md b/README.md index 287d6a97..8721d9b2 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ Then add the sqlite-android artifact from this repository as a dependency: ```gradle dependencies { - implementation 'com.github.requery:sqlite-android:3.47.2' + implementation 'com.github.requery:sqlite-android:3.48.0' } ``` Then change usages of `android.database.sqlite.SQLiteDatabase` to @@ -153,7 +153,7 @@ Changes License ------- - Copyright (C) 2017-2024 requery.io + Copyright (C) 2017-2025 requery.io Copyright (C) 2005-2012 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/build.gradle b/build.gradle index 1e64d54d..9a1d5674 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ plugins { - id "com.android.library" version "8.7.3" apply false + id "com.android.library" version "8.8.0" apply false id "de.undercouch.download" version "5.6.0" apply false } diff --git a/gradle.properties b/gradle.properties index f5089afe..3a4dfb1d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,7 +16,7 @@ org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M" android.useAndroidX=true # GROUP=io.requery -VERSION_NAME=3.47.2-SNAPSHOT +VERSION_NAME=3.48.0-SNAPSHOT # POM_DEVELOPER_ID=TODO POM_DEVELOPER_NAME=TODO diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4eaec467..18362b78 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/sqlite-android/build.gradle b/sqlite-android/build.gradle index 116df5f5..0993a1f2 100644 --- a/sqlite-android/build.gradle +++ b/sqlite-android/build.gradle @@ -7,7 +7,7 @@ plugins { } android { - buildToolsVersion = "35.0.0" + buildToolsVersion = "35.0.1" ndkVersion "27.2.12479018" compileSdk 35 @@ -58,7 +58,7 @@ dependencies { } ext { - sqliteDistributionUrl = "https://www.sqlite.org/2024/sqlite-amalgamation-3470200.zip" + sqliteDistributionUrl = "https://www.sqlite.org/2025/sqlite-amalgamation-3480000.zip" } tasks.register("downloadSqlite", Download) { From f5c56cad5973a3ef7248a474729cc6c351252eb5 Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Tue, 28 Jan 2025 11:19:49 +0200 Subject: [PATCH 17/18] Update Gradle --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 18362b78..9bf7bd33 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From e1bed471476ec8cec36c6c36f0145206fb7aa03b Mon Sep 17 00:00:00 2001 From: Ihor Kushnirenko Date: Fri, 7 Feb 2025 19:49:00 +0200 Subject: [PATCH 18/18] Bump SQLite to v3.49.0 --- CHANGELOG.md | 1 + README.md | 4 ++-- gradle.properties | 2 +- sqlite-android/build.gradle | 4 ++-- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1316505f..c10c476c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ Change Log ========== ## 3.48.0 +- [SQLite 3.49.0](https://www.sqlite.org/releaselog/3_49_0.html) - [SQLite 3.48.0](https://www.sqlite.org/releaselog/3_48_0.html) - [SQLite 3.47.2](https://www.sqlite.org/releaselog/3_47_2.html) - [SQLite 3.47.1](https://www.sqlite.org/releaselog/3_47_2.html) diff --git a/README.md b/README.md index 8721d9b2..397f81ed 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ Then add the sqlite-android artifact from this repository as a dependency: ```gradle dependencies { - implementation 'com.github.requery:sqlite-android:3.48.0' + implementation 'com.github.requery:sqlite-android:3.49.0' } ``` Then change usages of `android.database.sqlite.SQLiteDatabase` to @@ -115,7 +115,7 @@ Versioning ---------- The library is versioned after the version of SQLite it contains. For changes specific to just the -wrapper API, a revision number is added, e.g., 3.47.2-X, where X is the revision number. +wrapper API, a revision number is added, e.g., 3.49.0-X, where X is the revision number. Acknowledgements ---------------- diff --git a/gradle.properties b/gradle.properties index 3a4dfb1d..c366dc29 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,7 +16,7 @@ org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M" android.useAndroidX=true # GROUP=io.requery -VERSION_NAME=3.48.0-SNAPSHOT +VERSION_NAME=3.49.0-SNAPSHOT # POM_DEVELOPER_ID=TODO POM_DEVELOPER_NAME=TODO diff --git a/sqlite-android/build.gradle b/sqlite-android/build.gradle index 0993a1f2..22803e7e 100644 --- a/sqlite-android/build.gradle +++ b/sqlite-android/build.gradle @@ -8,7 +8,7 @@ plugins { android { buildToolsVersion = "35.0.1" - ndkVersion "27.2.12479018" + ndkVersion "28.0.13004108" compileSdk 35 @@ -58,7 +58,7 @@ dependencies { } ext { - sqliteDistributionUrl = "https://www.sqlite.org/2025/sqlite-amalgamation-3480000.zip" + sqliteDistributionUrl = "https://www.sqlite.org/2025/sqlite-amalgamation-3490000.zip" } tasks.register("downloadSqlite", Download) {