Skip to content

A Dart Build Plugin that uploads debug symbols for Android, iOS/macOS and source maps for Web to Sentry via sentry-cli

License

Notifications You must be signed in to change notification settings

Taskulu/sentry-dart-plugin

 
 

Repository files navigation

Sentry Dart Plugin

Sentry Dart Plugin pub package pub points

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-alpha.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: ...
  wait_for_processing: false
  log_level: error # possible values: trace, debug, info, warn, error
  release: ...
  web_build_path: ...
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
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 -
web_build_path The web build folder default: build/web (string) 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.

The --split-debug-info and --obfuscate are not supported for iOS and Desktop Apps yet, See docs

About

A Dart Build Plugin that uploads debug symbols for Android, iOS/macOS and source maps for Web to Sentry via sentry-cli

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Dart 83.1%
  • JavaScript 14.1%
  • Shell 2.8%