# Eclipse project files 
.classpath
.project
.settings/
.checkstyle

# IntelliJ project files
*.idea
*.iml
*.ipr
*.iws

# Additional tools
.clover/

#OSX files
.DS_Store

# Compiler output, class files
*.class
bin/

# Log file
*.log

# BlueJ files
*.ctxt

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

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

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

#Test config and output
test-output/
local/
reports/
.pmd
tmp/

# Build artifacts
target/
out/
build/
jarsIn/
*.jar
build.xml
*.properties
*.releaseBackup
*.next
*.tag

# Jekyll
_site/
_*
_*/
