# Whisk
nginx.conf
whisk.properties
default.props

.ant-targets-build.xml
/results/
/logs/
/config/custom-config.xml
results
*.retry

# Environments
/ansible/environments/*
!/ansible/environments/distributed
!/ansible/environments/docker-machine
!/ansible/environments/local
!/ansible/environments/mac

# actionloop action compiler script
!core/typescript37Action/bin/compile

# Eclipse
bin/
**/.project
.settings/
.classpath
.cache-main
.cache-tests

# Linux
*~

# Mac
.DS_Store

# Gradle
.gradle
build/
!/tools/build/

# Python
.ipynb_checkpoints/
*.pyc

# NodeJS
node_modules
package-lock.json

# Vagrant
.vagrant*

# IntelliJ
.idea
*.class
*.iml
out/

# Ansible
ansible/environments/docker-machine/hosts
ansible/db_local.ini*
ansible/tmp/*
ansible/roles/nginx/files/openwhisk-client*
ansible/roles/nginx/files/*.csr
ansible/roles/nginx/files/*cert.pem

# Generated by tests:buildArtifacts
.built
*.zip
