# The XMLs we expect (order is important)
XML|${jetty.home}/etc/jetty.xml
XML|${jetty.home}/etc/jetty-http.xml

# The LIBs we expect (order is irrelevant)
LIB|${jetty.home}/lib/jetty-http-9.3.jar
LIB|${jetty.home}/lib/jetty-io-9.3.jar
LIB|${jetty.home}/lib/jetty-schemas-3.1.jar
LIB|${jetty.home}/lib/jetty-server-9.3.jar
LIB|${jetty.home}/lib/jetty-util-9.3.jar
LIB|${jetty.home}/lib/jetty-xml-9.3.jar
LIB|${jetty.home}/lib/servlet-api-3.1.jar
LIB|${jetty.base}/lib/logging/slf4j-api.jar
LIB|${jetty.base}/lib/logging/jul-to-slf4j.jar
LIB|${jetty.base}/lib/logging/logback-core.jar
LIB|${jetty.base}/lib/logging/logback-classic.jar
LIB|${jetty.base}/resources

# The Properties we expect (order is irrelevant)
# (this is the property we actually set in jetty.base)
PROP|jetty.http.port=9090
# (these are the ones set by default from jetty.home modules)
# PROP|jetty.http.idleTimeout=30000
# PROP|jetty.httpConfig.delayDispatchUntilContent=false
# PROP|jetty.server.dumpAfterStart=false
# PROP|jetty.server.dumpBeforeStop=false
# PROP|jetty.httpConfig.outputBufferSize=32768
# PROP|jetty.httpConfig.requestHeaderSize=8192
# PROP|jetty.httpConfig.responseHeaderSize=8192
# PROP|jetty.httpConfig.sendDateHeader=false
# PROP|jetty.httpConfig.sendServerVersion=true
# PROP|jetty.threadPool.maxThreads=200
# PROP|jetty.threadPool.minThreads=10
# PROP|jetty.threadPool.idleTimeout=60000

# Other File References
FILE|logs/
FILE|resources/

# Downloads
DOWNLOAD|http://central.maven.org/maven2/org/slf4j/slf4j-api/1.6.6/slf4j-api-1.6.6.jar|lib/logging/slf4j-api-1.6.6.jar
DOWNLOAD|http://repo1.maven.org/maven2/ch/qos/logback/logback-core/1.0.7/logback-core-1.0.7.jar|lib/logging/logback-core-1.0.7.jar
DOWNLOAD|http://repo1.maven.org/maven2/ch/qos/logback/logback-classic/1.0.7/logback-classic-1.0.7.jar|lib/logging/logback-classic-1.0.7.jar
DOWNLOAD|https://raw.githubusercontent.com/jetty-project/logging-modules/master/logback/logback.xml|resources/logback.xml
DOWNLOAD|https://raw.githubusercontent.com/jetty-project/logging-modules/master/logback/jetty-logging.properties|resources/jetty-logging.properties
