# Java
*.class
*.jar
*.war
*.oar

# Eclipse
.project
.classpath
.settings

# Idea
.idea
*.iml
*.iws
*.ipr

# OS
Thumbs.db
.DS_Store

# Vagrant
.vagrant

# Docker registry
/registry

# Build
build

# Gradle
.gradle

# Ansible
ansible/*.retry

# Backup files
*.bak

# Maven repository
repository

# sub repos
apps/aaa/
apps/config/
apps/igmp/
apps/mcast/
apps/olt/
apps/vtn/
apps/carrierethernet/

