Last active
January 3, 2016 10:51
-
-
Save hectorlf/e441b7f1f035f2cb260d to your computer and use it in GitHub Desktop.
Jetty Runner Gradle task with Spring Loaded, https and exploded war
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apply plugin: 'war' | |
configurations { | |
jettyRunner | |
jettyRuntimeClasspath | |
} | |
dependencies { | |
jettyRunner 'org.eclipse.jetty:jetty-runner:9.2.10.v20150310' | |
jettyRunner 'org.eclipse.jetty:jetty-start:9.2.10.v20150310' | |
jettyRunner 'org.springframework:springloaded:1.2.5.RELEASE' | |
// dependencies that need to be on Jetty's server classpath, eg. commons-dbcp | |
jettyRuntimeClasspath 'org.apache.commons:commons-dbcp2:2.1.1' | |
} | |
// local jetty run | |
task deployOnLocalJetty(type: JavaExec) { | |
classpath configurations.jettyRunner.incoming.files | |
main = '-javaagent:'+configurations.jettyRunner.incoming.files.asFileTree.matching({pattern -> pattern.include('**/springloaded*.jar')}).singleFile.absolutePath | |
args '-noverify' | |
args '-jar' | |
args configurations.jettyRunner.incoming.files.asFileTree.matching({pattern -> pattern.include('**/jetty-runner*.jar')}).singleFile.absolutePath | |
configurations.jettyRuntimeClasspath.incoming.files.asFileTree.visit({ | |
fileDetails -> args '--jar'; args fileDetails.file.absolutePath | |
}) | |
configurations.runtime.incoming.files.asFileTree.visit({ | |
fileDetails -> args '--jar'; args fileDetails.file.absolutePath | |
}) | |
args '--classes' | |
args sourceSets.main.output.classesDir | |
args '--classes' | |
args sourceSets.main.output.resourcesDir | |
args '--out' | |
args "$buildDir/jetty-output.log" | |
args '--config' | |
args "$buildDir/jetty.xml" | |
args "$buildDir/src/main/webapp/WEB-INF/web.xml" | |
doFirst { | |
copy { | |
from "$rootDir/jetty/jetty.xml"; into "$buildDir"; expand(keystorePath: "$buildDir/key.store") | |
} | |
copy { | |
from "$rootDir/jetty/key.store"; into "$buildDir" | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> | |
<Configure id="Server" class="org.eclipse.jetty.server.Server"> | |
<Get name="ThreadPool"> | |
<Set name="minThreads" type="int"><Property name="threads.min" default="1"/></Set> | |
<Set name="maxThreads" type="int"><Property name="threads.max" default="100"/></Set> | |
<Set name="idleTimeout" type="int"><Property name="threads.timeout" default="60000"/></Set> | |
<Set name="detailedDump">false</Set> | |
</Get> | |
<Call name="addBean"> | |
<Arg> | |
<New class="org.eclipse.jetty.util.thread.ScheduledExecutorScheduler"/> | |
</Arg> | |
</Call> | |
<New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> | |
<Set name="secureScheme">https</Set> | |
<Set name="securePort">8443</Set> | |
<Set name="outputBufferSize"><Property name="jetty.output.buffer.size" default="32768" /></Set> | |
<Set name="outputAggregationSize"><Property name="jetty.output.aggregation.size" default="8192" /></Set> | |
<Set name="requestHeaderSize"><Property name="jetty.request.header.size" default="8192" /></Set> | |
<Set name="responseHeaderSize"><Property name="jetty.response.header.size" default="8192" /></Set> | |
<Set name="sendServerVersion"><Property name="jetty.send.server.version" default="true" /></Set> | |
<Set name="sendDateHeader"><Property name="jetty.send.date.header" default="false" /></Set> | |
<Set name="headerCacheSize">512</Set> | |
<Set name="delayDispatchUntilContent"><Property name="jetty.delayDispatchUntilContent" default="false"/></Set> | |
</New> | |
<New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory"> | |
<Set name="KeyStorePath">${keystorePath}</Set> | |
<Set name="KeyStorePassword">password</Set> | |
<Set name="KeyManagerPassword">password</Set> | |
</New> | |
<New id="sslHttpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> | |
<Arg><Ref refid="httpConfig"/></Arg> | |
<Call name="addCustomizer"> | |
<Arg><New class="org.eclipse.jetty.server.SecureRequestCustomizer"/></Arg> | |
</Call> | |
</New> | |
<Call name="addConnector"> | |
<Arg> | |
<New id="httpConnector" class="org.eclipse.jetty.server.ServerConnector"> | |
<Arg name="server"><Ref refid="Server" /></Arg> | |
<Arg name="acceptors" type="int"><Property name="http.acceptors" default="-1"/></Arg> | |
<Arg name="selectors" type="int"><Property name="http.selectors" default="-1"/></Arg> | |
<Arg name="factories"> | |
<Array type="org.eclipse.jetty.server.ConnectionFactory"> | |
<Item> | |
<New class="org.eclipse.jetty.server.HttpConnectionFactory"> | |
<Arg name="config"><Ref refid="httpConfig" /></Arg> | |
</New> | |
</Item> | |
</Array> | |
</Arg> | |
<Set name="host"><Property name="jetty.host" /></Set> | |
<Set name="port">8080</Set> | |
<Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set> | |
<Set name="soLingerTime"><Property name="http.soLingerTime" default="-1"/></Set> | |
<Set name="acceptorPriorityDelta"><Property name="http.acceptorPriorityDelta" default="0"/></Set> | |
<Set name="selectorPriorityDelta"><Property name="http.selectorPriorityDelta" default="0"/></Set> | |
<Set name="acceptQueueSize"><Property name="http.acceptQueueSize" default="0"/></Set> | |
</New> | |
</Arg> | |
</Call> | |
<Call name="addConnector"> | |
<Arg> | |
<New id="sslConnector" class="org.eclipse.jetty.server.ServerConnector"> | |
<Arg name="server"><Ref refid="Server" /></Arg> | |
<Arg name="acceptors" type="int"><Property name="ssl.acceptors" default="-1"/></Arg> | |
<Arg name="selectors" type="int"><Property name="ssl.selectors" default="-1"/></Arg> | |
<Arg name="factories"> | |
<Array type="org.eclipse.jetty.server.ConnectionFactory"> | |
<Item> | |
<New class="org.eclipse.jetty.server.SslConnectionFactory"> | |
<Arg name="next">http/1.1</Arg> | |
<Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg> | |
</New> | |
</Item> | |
<Item> | |
<New class="org.eclipse.jetty.server.HttpConnectionFactory"> | |
<Arg name="config"><Ref refid="sslHttpConfig" /></Arg> | |
</New> | |
</Item> | |
</Array> | |
</Arg> | |
<Set name="host"><Property name="jetty.host" /></Set> | |
<Set name="port">8443</Set> | |
<Set name="idleTimeout"><Property name="ssl.timeout" default="30000"/></Set> | |
<Set name="soLingerTime"><Property name="ssl.soLingerTime" default="-1"/></Set> | |
<Set name="acceptorPriorityDelta"><Property name="ssl.acceptorPriorityDelta" default="0"/></Set> | |
<Set name="selectorPriorityDelta"><Property name="ssl.selectorPriorityDelta" default="0"/></Set> | |
<Set name="acceptQueueSize"><Property name="ssl.acceptQueueSize" default="0"/></Set> | |
</New> | |
</Arg> | |
</Call> | |
<Set name="handler"> | |
<New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"> | |
<Set name="handlers"> | |
<Array type="org.eclipse.jetty.server.Handler"> | |
<Item> | |
<New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/> | |
</Item> | |
<Item> | |
<New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/> | |
</Item> | |
</Array> | |
</Set> | |
</New> | |
</Set> | |
<Set name="stopAtShutdown">true</Set> | |
<Set name="stopTimeout">5000</Set> | |
<Set name="dumpAfterStart"><Property name="jetty.dump.start" default="false"/></Set> | |
<Set name="dumpBeforeStop"><Property name="jetty.dump.stop" default="false"/></Set> | |
</Configure> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment