*.class
*.pyc

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

# interpreter
/interpreter/*
!/interpreter/lib

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

lens/lens-cli-hist.log

# 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/src/fonts/roboto*
zeppelin-web/src/fonts/source-code-pro*
zeppelin-web/src/fonts/patua-one*
zeppelin-web/src/fonts/google-fonts.css
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/

# scio
.bigquery/

# 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/

# 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/
