sentry_dart_plugin 1.0.0-beta.4
sentry_dart_plugin: ^1.0.0-beta.4 copied to clipboard
A Dart Build Plugin that uploads symbols for Android, iOS/macOS, and Web to Sentry via sentry-cli.
Sentry Dart Plugin #
A Dart Build Plugin that uploads debug symbols for Android, iOS/macOS and source maps for Web to Sentry via sentry-cli.
For doing it manually, please follow our docs.
📋 Install #
In your pubspec.yaml, add sentry_dart_plugin as a new dev dependency.
dev_dependencies:
sentry_dart_plugin: ^1.0.0-beta.1
Build App #
The flutter build apk, flutter build ios (or macos) or flutter build web is required before executing the sentry_dart_plugin plugin, because the build spits out the debug symbols and source maps.
Run #
Dart #
dart run sentry_dart_plugin
Flutter #
flutter packages pub run sentry_dart_plugin
Configuration (Optional) #
This tool comes with a default configuration. You can configure it to suit your needs.
Add sentry: configuration at the end of your pubspec.yaml file:
sentry:
upload_native_symbols: true
upload_source_maps: false
include_native_sources: false
project: ...
org: ...
auth_token: ...
url: ...
wait_for_processing: false
log_level: error # possible values: trace, debug, info, warn, error
release: ...
web_build_path: ...
commits: auto
Available Configuration Fields #
| Configuration Name | Description | Default Value And Type | Required | Alternative Environment variable |
|---|---|---|---|---|
| upload_native_symbols | Enables or disables the automatic upload of debug symbols | true (boolean) | no | - |
| upload_source_maps | Enables or disables the automatic upload of source maps | false (boolean) | no | - |
| include_native_sources | Does or doesn't include the source code of native code | false (boolean) | no | - |
| project | Project's name | e.g. sentry-flutter (string) | yes | SENTRY_PROJECT |
| org | Organization's slug | e.g. sentry-sdks (string) | yes | SENTRY_ORG |
| auth_token | Auth Token | e.g. 64 random characteres (string) | yes | SENTRY_AUTH_TOKEN |
| url | URL | e.g. https://mysentry.invalid/ (string) | no | SENTRY_URL |
| wait_for_processing | Wait for server-side processing of uploaded files | false (boolean) | no | - |
| log_level | Configures the log level for sentry-cli | warn (string) | no | SENTRY_LOG_LEVEL |
| release | The release version for source maps, it should match the release set by the SDK | default: name@version from pubspec (string) | no | SENTRY_RELEASE |
| web_build_path | The web build folder | default: build/web (string) | no | - |
| commits | Release commits integration | default: auto | no | - |
Troubleshooting #
Sentry's auth_token requires the project:releases or project:write scope, See docs.
Dart's --obfuscate option is required to be paired with --split-debug-info to generate a symbol map, See docs.
The --split-debug-info option requires setting a output directory, the directory must be an inner folder of the project's folder, See docs.
Flutter's build web command requires setting the --source-maps parameter to generate source maps, See Issue