# GNU make tools #
##################
/autom4te.cache
config/config.sub
config/config.guess
config/sp-config-h.in
config/compile
config/depcomp
config/install-sh
config/ltmain.sh
config/missing
config/test-driver
configure
makeflags
*.m4

# Bazel generated files #
#########################
/bazel-*
bazel
scripts/compile/env_exec.sh
config/heron-config.h
tools/cpp/osx_gcc_wrapper.sh
tools/cpp/CROSSTOOL
tools/cpp/osx
tools/cpp/gcc
tools/cpp/g++
tools/jdk/ijar
.DS_Store
.*.swp

# Compiled source #
###################
/build
/release
*.com
*.class
*.dll
*.exe
*.o
*.so
*.jar
*.fyc
*.rbc
*.pyc
*.in
*.in~
*.swp

# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.iso
*.zip

# Logs and databases #
######################
*.log
*.sql
*.sqlite

# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Trashes

# Editor generated files #
##########################
.emacs-project
.ropeproject
*.swp

## Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm

## Directory-based project format
.idea/
# if you remove the above rule, at least ignore user-specific stuff:
.idea/workspace.xml
.idea/tasks.xml
#  and these sensitive or high-churn files:
.idea/dataSources.ids
.idea/dataSources.xml
.idea/sqlDataSources.xml
.idea/dynamic.xml

## Maven generated files
.classpath.txt

## File-based project format
*.ipr
*.iws
*.iml
*.project
*.cproject
*.pydevproject

## Additional for IntelliJ
out/

# generated by mpeltonen/sbt-idea plugin
.idea_modules/

# generated by JIRA plugin
atlassian-ide-plugin.xml

# generated by Crashlytics plugin (for Android Studio and Intellij)
com_crashlytics_export_strings.xml

# generated for the website
website/node_modules/
website/public/
website/static/
