*.class
*.pyc

# Package Files #
*.jar
*.war
*.ear

# interpreter
/interpreter/*
!/interpreter/lib

# interpreter temp files
derby.log
spark/metastore_db
spark-1.*-bin-hadoop*
.spark-dist


# Zeppelin server
zeppelin-server/local-repo
zeppelin-server/src/main/resources/zeppelin-site.xml

# conf file
conf/zeppelin-env.sh
conf/zeppelin-env.cmd
conf/zeppelin-site.xml
conf/shiro.ini
conf/keystore
conf/truststore
conf/interpreter.json
conf/notebook-authorization.json
conf/shiro.ini
conf/credentials.json
conf/helium.json

# other generated files
spark/dependency-reduced-pom.xml
reports

# webapp
zeppelin-web/node_modules
zeppelin-web/dist
zeppelin-web/.tmp
zeppelin-web/.sass-cache
zeppelin-web/npm-debug.log
zeppelin-web/yarn-error.log
zeppelin-web/bower_components
zeppelin-web/yarn.lock
**nbproject/
**node/

# R
/r/lib/
.Rhistory
/R/


# project level
/logs/
/run/
**/metastore_db/
/*.log
/jobs/
/zan-repo/
/drivers/
/warehouse/
/notebook/
/local-repo/

**/sessions/
**/data/
**/build/
**/testing/
!/testing/

# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db

# eclipse project files
**/.classpath
**/.project
**/.settings/
.project
.settings/
.factorypath

# intelliJ IDEA project files
.idea/
*.iml

# maven target files
target/
**/target/

# maven flattened pom files
**/.flattened-pom.xml

# Generated by Jekyll
docs/_site/

*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
.elc
auto-save-list
tramp
.\#*
*.swp
**/dependency-reduced-pom.xml

# Generated by zeppelin-examples
/helium

# tmp files
/tmp/

# Git properties
**/git.properties

# jEnv file
.java-version
