# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

.DS_Store
*.iml
.idea

# maven shade plugin
dependency-reduced-pom.xml
target

# documentation
 /_build/
/venv/
_build
/dist/html/
build-linter

# temporary release files
release/

# python
venv
*pyc
dist/
*whl
__pycache__

# smoke test checkpoint directories
statefun-e2e-tests/*/statefun-app-checkpoints-*

statefun-sdk-js/package-lock.json
statefun-sdk-js/node_modules/*
statefun-sdk-js/dist/*
