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

# Files and directories created by pub.
.dart_tool/
.packages
build/
pubspec.lock
.flutter-plugins
.flutter-plugins-dependencies

# created by maven
/target/

# Directory created by dartdoc.
doc/api/

# Avoid committing generated Javascript files:
*.dart.js
*.info.json      # Produced by the --dump-info flag.
*.js             # When generated by dart2js. Don't specify *.js if your
                 # project includes source files written in JavaScript.
*.js_
*.js.deps
*.js.map

# IDE and debugger files.
.clangd
.gdb_history
.history
.vscode
compile_commands.json

# IntelliJ
*.iml
*.ipr
*.iws
.idea/

# Mac
.DS_Store

# Vim
.*.swp

## Downloaded files and build artifacts
*.jar
*.class
*.exe
