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

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

# eclipse ignore
.settings/
.project
.classpath
.factorypath

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

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

# system ignore
.DS_Store
Thumbs.db

# antlr ignore
gen/
*.tokens

# agent build ignore
/agent/
