-
-
Notifications
You must be signed in to change notification settings - Fork 277
melos #12: general cleanup #3142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
59 commits
Select commit
Hold shift + click to select a range
481ddd5
Add melos setup and check only set up Dart for now
buenaflor 82fa1bc
Update
buenaflor af3e3ee
Update]
buenaflor 7734657
Update]
buenaflor b5e5b42
Update
buenaflor 75e40d4
Update
buenaflor 086519b
Update
buenaflor f977b38
Fix CHANGELOG
buenaflor ecce8da
Update gitignore
buenaflor c692b29
Fix symlink in CHANGELOG
buenaflor 0cae93e
Add logging to melos
buenaflor 1d983dd
Update
buenaflor 030fb25
Merge branch 'umbrella/melos' into chore/melos/logging
buenaflor 831a6de
Update
buenaflor 412240d
Update
buenaflor 26ec9b8
Update
buenaflor 33a6226
Add dio to packages
buenaflor f0b3ecf
Update workflow
buenaflor 17289a5
Update
buenaflor feb0e3f
Update
buenaflor 4bc5a30
Update
buenaflor dae9306
Update
buenaflor 7cc04b4
Update
buenaflor 0706b8a
Add hive to packages
buenaflor 47ea449
Update
buenaflor 0679ecf
Add file to packages
buenaflor 784ef2d
Add link to packages
buenaflor f5a74a7
Update
buenaflor 326b809
Update
buenaflor 1364687
Update
buenaflor b7af752
Update
buenaflor e3e05e5
Fix test
buenaflor ea6336a
Fix test
buenaflor ccbc158
Fix test
buenaflor 049e3dc
Fix test
buenaflor 476b8ed
Fix test
buenaflor 2f0529d
Add flutter to packages
buenaflor de2a130
Update
buenaflor 9e8d113
Update
buenaflor 00c8f61
Update
buenaflor ff47526
Update
buenaflor 01e4133
Update
buenaflor 387477d
Update
buenaflor 0e5657b
Update
buenaflor 433eb78
Update
buenaflor 070f3ce
Update
buenaflor ef1c5fc
Update
buenaflor 78247fc
Update
buenaflor 020d1f9
Update
buenaflor 238abad
Update
buenaflor 4e1f46d
Update
buenaflor f5ecc24
Update
buenaflor a4f63fa
Update
buenaflor 7d8578e
Clean up
buenaflor 76b8309
Merge branch 'umbrella/melos' into chore/melos/general-cleanup
buenaflor 057fade
Updaet
buenaflor cc55001
Updaet
buenaflor 656cce4
Update
buenaflor 3706b67
Merge branch 'umbrella/melos' into chore/melos/general-cleanup
buenaflor File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -9,7 +9,7 @@ on: | |
| - "!**/*.md" | ||
| - "!**/class-diagram.svg" | ||
| - ".github/workflows/min_version_test.yml" | ||
| - "dart/**" | ||
| - "packages/dart/**" | ||
| - "packages/flutter/**" | ||
| - "min_version_test/**" | ||
|
|
||
|
|
@@ -57,7 +57,7 @@ jobs: | |
|
|
||
| - uses: ruby/setup-ruby@472790540115ce5bd69d399a020189a8c87d641f # [email protected] | ||
| with: | ||
| ruby-version: '3.1.2' # https://github.com/flutter/flutter/issues/109385#issuecomment-1212614125 | ||
| ruby-version: "3.1.2" # https://github.com/flutter/flutter/issues/109385#issuecomment-1212614125 | ||
|
|
||
| - name: Uninstall existing CocoaPods and install globally | ||
| run: | | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -22,4 +22,4 @@ pubspec.lock | |
| Podfile.lock | ||
|
|
||
| .gradle | ||
| flutter/.gradle | ||
| packages/flutter/.gradle | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,35 +1,99 @@ | ||
| ### Dart | ||
| # Contributing to Sentry Dart & Flutter | ||
|
|
||
| All you need is the [sentry-dart](https://github.com/getsentry/sentry-dart/tree/main/dart). The `sentry` package doesn't depend on the Flutter SDK. | ||
| Thank you for your interest in contributing to Sentry's Dart and Flutter SDKs! This guide will help | ||
| you get started. | ||
|
|
||
| ### Flutter | ||
| ## Prerequisites | ||
|
|
||
| All you need is the [sentry-flutter](https://github.com/getsentry/sentry-dart/tree/main/flutter) and `sentry-dart` as stated above. | ||
| ### Required Tools | ||
|
|
||
| The SDK currently supports Android, iOS, and Web. We build the example app for these targets on 3 platforms: Windows, macOS, and Linux. | ||
| This is to make sure you'd be able to contribute to this project if you're using any of these operating systems. | ||
| * **Dart SDK** - Required for all packages | ||
| * **Flutter SDK** - Required for `sentry-flutter` and Flutter integrations | ||
| * **[melos](https://melos.invertase.dev/)** - For managing the monorepo | ||
|
|
||
| We also run CI against the Flutter `stable` and `beta` channels, so you should be able to build it if you're in one of those. | ||
| ## Environment Setup | ||
|
|
||
| The Flutter SDK has our Native SDKs embedded if you wish to learn more about them, they sit at: | ||
| ### 1. Install melos | ||
|
|
||
| [sentry-java](https://github.com/getsentry/sentry-java) for the Android integration. | ||
| [sentry-cocoa](https://github.com/getsentry/sentry-cocoa) for the Apple integration. | ||
| [sentry-native](https://github.com/getsentry/sentry-native) for the Android NDK integration. | ||
| ```bash | ||
| dart pub global activate melos | ||
| ``` | ||
|
|
||
| ### Dependencies | ||
| ### 2. Bootstrap the project | ||
|
|
||
| * The Dart SDK (if you want to change `sentry-dart`) | ||
| * The Flutter SDK (if you want to change `sentry-dart` or `sentry-flutter`) | ||
| * Android: Android SDK (`sentry-java`) with NDK (`sentry-native`): The example project includes C++. | ||
| * iOS: Cocoa SDK (`sentry-cocoa`), you'll need a Mac with Xcode installed. | ||
| * Web: No additional dependencies. | ||
| At the repository root, run: | ||
|
|
||
| ### Static Code Analysis, Tests, Formatting, Pub Score and Dry publish | ||
| ```bash | ||
| melos bootstrap | ||
| ``` | ||
|
|
||
| * Dart/Flutter | ||
| * Execute `./tool/presubmit.sh` within the `dart` and `flutter` folders | ||
| * Swift/CocoaPods | ||
| * Use `swiftlint` and `pod lib lint` | ||
| * Kotlin | ||
| * Use `ktlint` and `detekt` | ||
| If you're using [fvm](https://fvm.app/), specify the SDK path: | ||
|
|
||
| ```bash | ||
| melos bootstrap --sdk-path=/Users/user/fvm/default/ | ||
| ``` | ||
|
|
||
| ## Project Structure | ||
|
|
||
| ### Core SDKs | ||
|
|
||
| * **[packages/dart](https://github.com/getsentry/sentry-dart/tree/main/packages/dart)** - Core Dart | ||
| SDK (`sentry` package) | ||
| * **[packages/flutter](https://github.com/getsentry/sentry-dart/tree/main/packages/flutter)** - | ||
| Flutter SDK (`sentry_flutter` package) | ||
|
|
||
| ### Integration Packages | ||
|
|
||
| Located under `packages/`, we maintain integrations for popular Dart/Flutter libraries: | ||
|
|
||
| * **sentry_dio** - HTTP client integration for [dio](https://pub.dev/packages/dio) | ||
| * **sentry_logging** - Integration for the [logging](https://pub.dev/packages/logging) package | ||
| * **sentry_sqflite** - Integration for [sqflite](https://pub.dev/packages/sqflite) database | ||
| * **sentry_drift** - Integration for [drift](https://pub.dev/packages/drift) database | ||
| * **sentry_hive** - Integration for [hive](https://pub.dev/packages/hive) database | ||
| * **sentry_isar** - Integration for [isar](https://pub.dev/packages/isar) database | ||
| * **sentry_file** - File I/O operations integration | ||
| * **sentry_link** - GraphQL integration via [gql_link](https://pub.dev/packages/gql_link) | ||
| * **sentry_firebase_remote_config** - Integration | ||
| for [firebase_remote_config](https://pub.dev/packages/firebase_remote_config) | ||
|
|
||
| ## Platform Support | ||
|
|
||
| The Flutter SDK supports the following platforms: | ||
|
|
||
| * Android | ||
| * iOS | ||
| * macOS | ||
| * Linux | ||
| * Windows | ||
| * Web | ||
|
|
||
| We test the example app on Windows, macOS, and Linux to ensure cross-platform compatibility. CI runs | ||
| against Flutter `stable` and `beta` channels. | ||
|
|
||
| ## Native SDK Dependencies | ||
|
|
||
| The Flutter SDK embeds platform-specific native SDKs: | ||
|
|
||
| * **Android**: [sentry-java](https://github.com/getsentry/sentry-java) (via | ||
| Gradle) + [sentry-native](https://github.com/getsentry/sentry-native) for NDK | ||
| * **iOS/macOS**: [sentry-cocoa](https://github.com/getsentry/sentry-cocoa) (via CocoaPods/SPM) | ||
| * **Linux/Windows**: [sentry-native](https://github.com/getsentry/sentry-native) (bundled in | ||
| `packages/flutter/sentry-native/`) | ||
| * **Web**: [sentry-javascript](https://github.com/getsentry/sentry-javascript) (loaded via CDN) | ||
|
|
||
| [//]: # (TODO: buenaflor - properly set up precommit hooks) | ||
denrase marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| [//]: # (### Static Code Analysis, Tests, Formatting, Pub Score and Dry publish) | ||
|
|
||
| [//]: # () | ||
| [//]: # (* Dart/Flutter) | ||
|
|
||
| [//]: # ( * Execute `./tool/presubmit.sh` within the `dart` and `flutter` folders) | ||
|
|
||
| [//]: # (* Swift/CocoaPods) | ||
|
|
||
| [//]: # ( * Use `swiftlint` and `pod lib lint`) | ||
|
|
||
| [//]: # (* Kotlin) | ||
|
|
||
| [//]: # ( * Use `ktlint` and `detekt`) | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.