|
|
|
|
@ -1,3 +1,12 @@
@@ -1,3 +1,12 @@
|
|
|
|
|
buildscript { |
|
|
|
|
repositories { |
|
|
|
|
maven { url "https://repo.spring.io/plugins-release" } |
|
|
|
|
} |
|
|
|
|
dependencies { |
|
|
|
|
classpath("org.gradle.api.plugins:gradle-tomcat-plugin:1.2.3") |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
apply plugin: 'tomcat' |
|
|
|
|
|
|
|
|
|
dependencies { |
|
|
|
|
@ -7,4 +16,50 @@ dependencies {
@@ -7,4 +16,50 @@ dependencies {
|
|
|
|
|
tomcat("org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}") { |
|
|
|
|
exclude group: 'org.eclipse.jdt.core.compiler', module: 'ecj' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
task integrationTomcatRun(type: org.gradle.api.plugins.tomcat.tasks.TomcatRun) { |
|
|
|
|
onlyIf { !sourceSets.integrationTest.allSource.empty } |
|
|
|
|
buildscriptClasspath = tomcatRun.buildscriptClasspath |
|
|
|
|
classesDirectory = project.sourceSets.main.output.classesDir |
|
|
|
|
contextPath = tomcatRun.contextPath |
|
|
|
|
daemon = true |
|
|
|
|
tomcatClasspath = tomcatRun.tomcatClasspath |
|
|
|
|
webAppClasspath = tomcatRun.webAppClasspath |
|
|
|
|
webAppSourceDirectory = tomcatRun.webAppSourceDirectory |
|
|
|
|
doFirst { |
|
|
|
|
|
|
|
|
|
// delay reserving ports to ensure they are still available |
|
|
|
|
def ports = reservePorts(3) |
|
|
|
|
httpPort = ports[0] |
|
|
|
|
ajpPort = ports[1] |
|
|
|
|
stopPort = ports[2] |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
task integrationTomcatStop(type: org.gradle.api.plugins.tomcat.tasks.TomcatStop) { |
|
|
|
|
onlyIf { !sourceSets.integrationTest.allSource.empty } |
|
|
|
|
doFirst { |
|
|
|
|
stopPort = integrationTomcatRun.stopPort |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
integrationTest { |
|
|
|
|
dependsOn integrationTomcatRun |
|
|
|
|
doFirst { |
|
|
|
|
def host = 'localhost:' + integrationTomcatRun.httpPort |
|
|
|
|
systemProperties['geb.build.baseUrl'] = 'http://'+host+'/' + integrationTomcatRun.contextPath + '/' |
|
|
|
|
systemProperties['geb.build.reportsDir'] = 'build/geb-reports' |
|
|
|
|
} |
|
|
|
|
finalizedBy integrationTomcatStop |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
def reservePorts(int count) { |
|
|
|
|
def sockets = [] |
|
|
|
|
for(int i in 1..count) { |
|
|
|
|
sockets << new ServerSocket(0) |
|
|
|
|
} |
|
|
|
|
def result = sockets*.localPort |
|
|
|
|
sockets*.close() |
|
|
|
|
result |
|
|
|
|
} |