# See https://www.dartlang.org/guides/libraries/private-files

# Files and directories created by pub
.dart_tool/
.packages
.pub/
pubspec.lock

.idea/
.data_dir/

# Ignore any Flutter SDK in flutter-sdk/
flutter-sdk/

# .DS_Store is a file that stores custom attributes of its containing folder,
# such as the position of icons or the choice of a background image.
.DS_Store

# Generated files not intended to be checked in to version control
.flutter-plugins
**/.flutter-plugins-dependencies
flutter_export_environment.sh
Podfile
Podfile.lock
**/generated/not_namespaced_r_class_sources/
**/devtools_app/build/
**/devtools_app_shared/build/
**/devtools_extensions/build/
**/devtools_shared/build/
**/devtools_test/build/
packages/devtools_test/lib/src/mocks/generated.mocks.dart
**/*.stager_app.dart
**/test/**/failures/
*.dill
DEPENDENCIES.md
**/*.log

# Ignore logs generated by VS Code
**/logs/**
*.stager_app.g.dart

# Ignore VS code workspaces that may be configured per-user
*.code-workspace

# Ignore devtools_options.yaml files under example.
**/example/**/devtools_options.yaml
