# ----------------------------------------------------------------------
# Folders created by the various REEF runtimes during testing
# ----------------------------------------------------------------------
REEF_LOCAL_RUNTIME
REEF_MESOS_RUNTIME
#
# ----------------------------------------------------------------------
# Files generated during builds
# ----------------------------------------------------------------------
target
generated-sources
build
StyleCop.Cache
#
# ----------------------------------------------------------------------
# IDE settings
# ----------------------------------------------------------------------
.externalToolBuilders
nbactions*.xml
nb-configuration.xml
.settings
.classpath
.project
*.iml
.idea
atlassian-ide-plugin.xml
*.sln.DotSettings.user
*.VC.opendb
*.VC.db
*.vcxproj.user
.vs
.vscode
#
# ----------------------------------------------------------------------
# OS Files
# ----------------------------------------------------------------------
.DS_Store
#
# ----------------------------------------------------------------------
# Temporary Files
# ----------------------------------------------------------------------
tmp
*~
\#*
*.log
*.sw[op]
#
# ----------------------------------------------------------------------
# Unknown Files. Please clean up over time
# ----------------------------------------------------------------------
ml-data
tang.conf
profile-*.json
