diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7e5c4023..65053c47 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,7 +18,7 @@ jobs: runs-on: ${{matrix.os}} steps: - name: Checkout the repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install msys2 if: matrix.os == 'windows-latest' @@ -32,7 +32,7 @@ jobs: uses: gradle/wrapper-validation-action@v1 - name: Cache gradle - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} @@ -40,7 +40,7 @@ jobs: ${{ runner.os }}-gradle- - name: Cache konan - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.konan key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} @@ -56,4 +56,4 @@ jobs: - name: Build run: ./gradlew build --no-daemon --stacktrace env: - GRADLE_OPTS: -Dorg.gradle.configureondemand=true -Dkotlin.incremental=false -Dorg.gradle.jvmargs="-Xmx3g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:MaxMetaspaceSize=512m" + GRADLE_OPTS: -Dorg.gradle.configureondemand=true -Dkotlin.incremental=false -Dorg.gradle.jvmargs="-Xmx4g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:MaxMetaspaceSize=512m" diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index bd9ae425..ed9b2e63 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -6,7 +6,7 @@ jobs: runs-on: macos-latest steps: - name: Checkout the repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - uses: actions/setup-java@v2 with: @@ -15,7 +15,7 @@ jobs: - name: Validate Gradle Wrapper uses: gradle/wrapper-validation-action@v1 - name: Cache gradle - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} @@ -23,7 +23,7 @@ jobs: ${{ runner.os }}-gradle- - name: Cache konan - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.konan key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} @@ -41,4 +41,4 @@ jobs: ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY }} env: - GRADLE_OPTS: -Dkotlin.incremental=false -Dorg.gradle.jvmargs="-Xmx3g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:MaxMetaspaceSize=512m" + GRADLE_OPTS: -Dkotlin.incremental=false -Dorg.gradle.jvmargs="-Xmx4g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:MaxMetaspaceSize=512m" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a5003bc8..2d726b61 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,7 @@ jobs: runs-on: macos-latest steps: - name: Checkout the repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - uses: touchlab/read-property@0.1 id: version-name @@ -24,7 +24,7 @@ jobs: - name: Validate Gradle Wrapper uses: gradle/wrapper-validation-action@v1 - name: Cache gradle - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} @@ -32,7 +32,7 @@ jobs: ${{ runner.os }}-gradle- - name: Cache konan - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.konan key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} @@ -56,4 +56,4 @@ jobs: tag: ${{ steps.version-name.outputs.propVal }} env: - GRADLE_OPTS: -Dkotlin.incremental=false -Dorg.gradle.jvmargs="-Xmx3g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:MaxMetaspaceSize=512m" + GRADLE_OPTS: -Dkotlin.incremental=false -Dorg.gradle.jvmargs="-Xmx4g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:MaxMetaspaceSize=512m" diff --git a/gradle.properties b/gradle.properties index 58f0a6b6..fd876b0b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ kotlin.code.style=official GROUP=co.touchlab -VERSION_NAME=1.3.1 +VERSION_NAME=1.3.2 KOTLIN_VERSION=1.9.20 kotlin.native.ignoreDisabledTargets=true diff --git a/sqliter-driver/src/nativeInterop/cinterop/sqlite3.def b/sqliter-driver/src/nativeInterop/cinterop/sqlite3.def index 0cab7bab..3ab18420 100644 --- a/sqliter-driver/src/nativeInterop/cinterop/sqlite3.def +++ b/sqliter-driver/src/nativeInterop/cinterop/sqlite3.def @@ -6,3 +6,14 @@ linkerOpts.linux_x64 = -lpthread -ldl linkerOpts.macos_x64 = -lpthread -ldl noStringConversion = sqlite3_prepare_v2 sqlite3_prepare_v3 + +# These functions aren't guaranteed to be callable and we don't use them. The functions listed here +# come from: +# - mutex_held / mutex_notheld: Debug only, https://sqlite.org/c3ref/mutex_held.html +# - column database / table / origin name: Opt-in, https://sqlite.org/c3ref/column_database_name.html +# - sqlite3_normalized_sql: Opt-in, https://sqlite.org/c3ref/expanded_sql.html +# - Snapshots: Opt-in, https://sqlite.org/compile.html#enable_snapshot +# - Scanstatus: Opt-in, https://sqlite.org/c3ref/stmt_scanstatus.html +# - sqlite3_unlock_notify: Opt-in, https://sqlite.org/unlock_notify.html +# - win32: Platform-specific, not used here, https://sqlite.org/c3ref/win32_set_directory.html +excludedFunctions = sqlite3_mutex_held sqlite3_mutex_notheld sqlite3_column_database_name sqlite3_column_database_name16 sqlite3_column_table_name sqlite3_column_table_name16 sqlite3_column_origin_name sqlite3_column_origin_name16 sqlite3_normalized_sql sqlite3_snapshot_get sqlite3_snapshot_free sqlite3_snapshot_open sqlite3_snapshot_cmp sqlite3_snapshot_recover sqlite3_stmt_scanstatus sqlite3_stmt_scanstatus_reset sqlite3_unlock_notify sqlite3_win32_set_directory sqlite3_win32_set_directory8 sqlite3_win32_set_directory16