# Directory trees to ignore
backups/
build/
dist/
local/
printable_docs/
reports/
site/
target/

!bin/report-template/**/dist

# specific files to ignore
*.log
.ant-targets-build.xml
.checkstyle
.classpath
.externalToolBuilders
.fbwarnings
.fbprefs
.pmd
.project
.settings
bin/ApacheJMeter.jar

build-local.properties
jmeter-fb.*

# ignore generated keystore and certs
/bin/proxyserver.jks
/bin/ApacheJMeterTemporaryRootCA.crt
/bin/ApacheJMeterTemporaryRootCA.usr

# ignore jar's in lib/
/lib/**/*.jar

# ignore default report output directory
/bin/report-output
/output/

# IDEA
out/
.idea/
*.iml

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