diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 43d6f9e435..ca443e3fa3 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -10,10 +10,10 @@ on: - '!**/class-diagram.svg' - '.github/workflows/drift.yml' - '.github/workflows/analyze.yml' - - '.github/actions/flutter-test/**' + - '.github/actions/dart-test/**' - '.github/actions/coverage/**' - - 'dart/**' - - 'drift/**' + - 'packages/dart/**' + - 'packages/drift/**' jobs: cancel-previous-workflow: @@ -25,36 +25,47 @@ jobs: access_token: ${{ github.token }} build: - name: '${{ matrix.target }} | ${{ matrix.sdk }}' - runs-on: ${{ matrix.target == 'linux' && 'ubuntu' || matrix.target }}-latest + name: '${{ matrix.os }} | ${{ matrix.sdk }}' + runs-on: ${{ matrix.os }}-latest timeout-minutes: 30 strategy: fail-fast: false matrix: - target: [macos, linux, windows] + os: [ubuntu, macos, windows] sdk: [stable, beta] steps: - uses: actions/checkout@v4 - - name: Install libsqlite3 - if: matrix.target == 'linux' + - name: Install libsqlite3 (Ubuntu) + if: matrix.os == 'ubuntu' run: sudo apt-get -y install libsqlite3-dev - - uses: ./.github/actions/flutter-test + - name: Install SQLite (macOS) + if: matrix.os == 'macos' + run: brew install sqlite3 + + - name: Install SQLite (Windows) + if: matrix.os == 'windows' + shell: powershell + run: | + choco install sqlite -y + echo "C:/ProgramData/chocolatey/lib/sqlite/tools" >> $GITHUB_PATH + + - uses: ./.github/actions/dart-test with: - directory: drift + directory: packages/drift + web: 'false' - uses: ./.github/actions/coverage - if: matrix.target == 'linux' && matrix.sdk == 'stable' + if: matrix.os == 'ubuntu' && matrix.sdk == 'stable' with: token: ${{ secrets.CODECOV_TOKEN }} - directory: drift + directory: packages/drift coverage: sentry_drift min-coverage: 80 analyze: uses: ./.github/workflows/analyze.yml with: - package: drift - sdk: flutter + package: packages/drift diff --git a/drift/CHANGELOG.md b/drift/CHANGELOG.md deleted file mode 120000 index 04c99a55ca..0000000000 --- a/drift/CHANGELOG.md +++ /dev/null @@ -1 +0,0 @@ -../CHANGELOG.md \ No newline at end of file diff --git a/drift/dartdoc_options.yaml b/drift/dartdoc_options.yaml deleted file mode 120000 index fcb0f9cc26..0000000000 --- a/drift/dartdoc_options.yaml +++ /dev/null @@ -1 +0,0 @@ -../packages/dart/dartdoc_options.yaml \ No newline at end of file diff --git a/drift/pubspec_overrides.yaml b/drift/pubspec_overrides.yaml deleted file mode 100644 index 0a17afda20..0000000000 --- a/drift/pubspec_overrides.yaml +++ /dev/null @@ -1,3 +0,0 @@ -dependency_overrides: - sentry: - path: ../packages/dart diff --git a/drift/test/utils/windows_helper.dart b/drift/test/utils/windows_helper.dart deleted file mode 100644 index e77fb03bed..0000000000 --- a/drift/test/utils/windows_helper.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'dart:ffi'; -import 'dart:io'; - -DynamicLibrary openOnWindows() { - final scriptDir = File(Platform.script.toFilePath()).parent; - final libraryNextToScript = File('${scriptDir.path}/test/sqlite3.dll'); - return DynamicLibrary.open(libraryNextToScript.path); -} diff --git a/drift/.gitignore b/packages/drift/.gitignore similarity index 100% rename from drift/.gitignore rename to packages/drift/.gitignore diff --git a/packages/drift/CHANGELOG.md b/packages/drift/CHANGELOG.md new file mode 120000 index 0000000000..699cc9e7b7 --- /dev/null +++ b/packages/drift/CHANGELOG.md @@ -0,0 +1 @@ +../../CHANGELOG.md \ No newline at end of file diff --git a/drift/LICENSE b/packages/drift/LICENSE similarity index 100% rename from drift/LICENSE rename to packages/drift/LICENSE diff --git a/drift/README.md b/packages/drift/README.md similarity index 100% rename from drift/README.md rename to packages/drift/README.md diff --git a/drift/analysis_options.yaml b/packages/drift/analysis_options.yaml similarity index 100% rename from drift/analysis_options.yaml rename to packages/drift/analysis_options.yaml diff --git a/packages/drift/dartdoc_options.yaml b/packages/drift/dartdoc_options.yaml new file mode 120000 index 0000000000..7cbb8c0d74 --- /dev/null +++ b/packages/drift/dartdoc_options.yaml @@ -0,0 +1 @@ +../dart/dartdoc_options.yaml \ No newline at end of file diff --git a/drift/example/database.dart b/packages/drift/example/database.dart similarity index 100% rename from drift/example/database.dart rename to packages/drift/example/database.dart diff --git a/drift/example/database.g.dart b/packages/drift/example/database.g.dart similarity index 100% rename from drift/example/database.g.dart rename to packages/drift/example/database.g.dart diff --git a/drift/example/example.dart b/packages/drift/example/example.dart similarity index 100% rename from drift/example/example.dart rename to packages/drift/example/example.dart diff --git a/drift/lib/sentry_drift.dart b/packages/drift/lib/sentry_drift.dart similarity index 100% rename from drift/lib/sentry_drift.dart rename to packages/drift/lib/sentry_drift.dart diff --git a/drift/lib/src/constants.dart b/packages/drift/lib/src/constants.dart similarity index 100% rename from drift/lib/src/constants.dart rename to packages/drift/lib/src/constants.dart diff --git a/drift/lib/src/sentry_query_interceptor.dart b/packages/drift/lib/src/sentry_query_interceptor.dart similarity index 100% rename from drift/lib/src/sentry_query_interceptor.dart rename to packages/drift/lib/src/sentry_query_interceptor.dart diff --git a/drift/lib/src/sentry_span_helper.dart b/packages/drift/lib/src/sentry_span_helper.dart similarity index 100% rename from drift/lib/src/sentry_span_helper.dart rename to packages/drift/lib/src/sentry_span_helper.dart diff --git a/drift/lib/src/version.dart b/packages/drift/lib/src/version.dart similarity index 100% rename from drift/lib/src/version.dart rename to packages/drift/lib/src/version.dart diff --git a/drift/pubspec.yaml b/packages/drift/pubspec.yaml similarity index 91% rename from drift/pubspec.yaml rename to packages/drift/pubspec.yaml index 35d76e6b6a..5820fc0b7b 100644 --- a/drift/pubspec.yaml +++ b/packages/drift/pubspec.yaml @@ -23,13 +23,11 @@ dependencies: dev_dependencies: lints: '>=2.0.0' - flutter_test: - sdk: flutter + test: ^1.26.3 coverage: ^1.3.0 mockito: ^5.1.0 build_runner: ^2.4.6 drift_dev: ^2.13.0 yaml: ^3.1.0 # needed for version match (code and pubspec) - sqlite3_flutter_libs: ^0.5.0 sqlite3: ^2.1.0 archive: ^3.1.2 diff --git a/packages/drift/pubspec_overrides.yaml b/packages/drift/pubspec_overrides.yaml new file mode 100644 index 0000000000..04ac16fe75 --- /dev/null +++ b/packages/drift/pubspec_overrides.yaml @@ -0,0 +1,4 @@ +# melos_managed_dependency_overrides: sentry +dependency_overrides: + sentry: + path: ../dart diff --git a/drift/test/mocks/mocks.dart b/packages/drift/test/mocks/mocks.dart similarity index 100% rename from drift/test/mocks/mocks.dart rename to packages/drift/test/mocks/mocks.dart diff --git a/drift/test/mocks/mocks.mocks.dart b/packages/drift/test/mocks/mocks.mocks.dart similarity index 100% rename from drift/test/mocks/mocks.mocks.dart rename to packages/drift/test/mocks/mocks.mocks.dart diff --git a/drift/test/sentry_drift_test.dart b/packages/drift/test/sentry_drift_test.dart similarity index 99% rename from drift/test/sentry_drift_test.dart rename to packages/drift/test/sentry_drift_test.dart index ab115e6b2a..27ce6b8320 100644 --- a/drift/test/sentry_drift_test.dart +++ b/packages/drift/test/sentry_drift_test.dart @@ -4,7 +4,7 @@ import 'package:drift/drift.dart'; import 'package:drift/native.dart'; -import 'package:flutter_test/flutter_test.dart'; +import 'package:test/test.dart'; import 'package:mockito/mockito.dart'; import 'package:sentry/sentry.dart'; import 'package:sentry/src/sentry_tracer.dart'; diff --git a/drift/test/sqlite3.dll b/packages/drift/test/sqlite3.dll similarity index 100% rename from drift/test/sqlite3.dll rename to packages/drift/test/sqlite3.dll diff --git a/drift/test/test_database.dart b/packages/drift/test/test_database.dart similarity index 100% rename from drift/test/test_database.dart rename to packages/drift/test/test_database.dart diff --git a/drift/test/test_database.g.dart b/packages/drift/test/test_database.g.dart similarity index 100% rename from drift/test/test_database.g.dart rename to packages/drift/test/test_database.g.dart diff --git a/drift/test/utils.dart b/packages/drift/test/utils.dart similarity index 100% rename from drift/test/utils.dart rename to packages/drift/test/utils.dart diff --git a/packages/drift/test/utils/windows_helper.dart b/packages/drift/test/utils/windows_helper.dart new file mode 100644 index 0000000000..984ee55504 --- /dev/null +++ b/packages/drift/test/utils/windows_helper.dart @@ -0,0 +1,14 @@ +import 'dart:ffi'; + +DynamicLibrary openOnWindows() { + // Use the system SQLite DLL installed by Chocolatey + try { + // Try to load from system path first + return DynamicLibrary.open('sqlite3.dll'); + } catch (e) { + // Fallback to absolute path from Chocolatey installation + return DynamicLibrary.open( + 'C:\\ProgramData\\chocolatey\\lib\\sqlite\\tools\\sqlite3.dll', + ); + } +}