# maven ignore
target/
*.class
*.jar
*.war
*.zip
*.tar
*.tar.gz
.flattened-pom.xml

# maven plugin ignore
release.properties
cobertura.ser
*.gpg

# eclipse ignore
.settings/
.project
.classpath

# idea ignore
.idea/
*.ipr
*.iml
*.iws

# temp ignore
logs/
*.log
*.doc
*.cache
*.diff
*.patch
*.tmp

# system ignore
.DS_Store
Thumbs.db
node_modules/
